百折不撓

データ系の新米エンジニアとして戦闘中。

emacsでもコピペしたぁああああい

 cntrl+K, cntrl+Yだっけ?でコピペする話じゃなくて、ブラウザ上でコピーしたコマンドエキセントリックな文章とかをemacsでpasteしたいという話。コマンドあるのかもしれないけど、分からないので、.emacsに以下を写経。

(setq x-select-enable-clipboard t)

 今思うと、そもそも出来ないと思っていきなり写経しちゃったけど、試して問題なかった場合は余計なことはしない方がいいのでいらないですね。
 「とりあえず」、「いきなり」で始めるのは良くない。大学生の頃、研究室の優しいボスにまぁまぁ長時間諭されたのを思い出しました。行動する時は、ゴール(目的)とそこに行き着く解決案を組み立てる習慣をつけるように。
 いつもの通り、今回は、以下の巨人に助けてもらった。
Emacs の コピー/ペースト をクリップボードで行う - Qiita

clamav

 ググっているとlinuxにセキュリティソフトウェアなんていらんって人が大半?な気がするけど、Ubuntuに入れてみた。例のごとく、以下の記事に従う。
www.yokoweb.net

 以下、記事のアバウトな写経。

自動更新の確認

sudo service clamav-freshclam status

/var/log/clamav/freshclam.log に色々とログが残る。アクティブだった。

フルスキャン
 clamscanコマンドのヘルプを見ると、まぁまぁな量のオプションがある。フルスキャンしようと思うといちいちオプションつけるの大変なので、記事の方はスクリプトを作成。/opt/script/clam-full.sh に同じものを置いた。このスクリプトにログの記録先、何か悪い子がいた時に隔離する先が記述されている。文法?というか書き方忘れたのでコピペ(ただ、コマンド書けばいいだけだっけ?)。有難うございます。
 このスクリプトに実行権限を与えてあげて、.bashrcに以下を書いておく。

alias clamfull="sudo /opt/script/clam-full.sh"

 clamfullが使えることが確認できたので、記事のこれ以降をやらなかった。以上、自分用の記録。


 記事の中で、chownコマンドなるものを知ったがこんなコマンドもあるのか。うーん勉強になるなぁ(忘れそう)・・・chown, chown, chown!!

勝つために

 最近、将棋ウォーズで遊んでいる。名前の通り当たり前に将棋を指すのだが、少し変わっているのが持ち時間のルールだ。3通りあり、一つは1手10秒以内に指すルールで短いながらよくあるものだ。もう二つは個人的には変わったルールで、持ち時間10分と3分きっかりですべて消費すると切れ負け。つまり最大でもそれぞれ10x2, 3x2分以内に対局が終わる。
 今まで将棋倶楽部24くらいでしか指したことがない自分にとっては、特に後者2つは、始めた当初その時間設定に、「こんなの将棋じゃない」とイラ立ちを覚えた。棋力の問題もあるが、とにかく時間を使って考えていると負けると言っても過言ではない。1手指すのにもどう頑張っても0.5秒前後はかかり、完全ノータイムでさせないので、仮に何も考えないでまったく意味のない手を指すとしても時間を残しておかないと切れ負ける。
 10分だとまだ考えられるのだが、3分ルールに関してはほぼ負けている。(たぶん)こちらが優勢であっても、切れ負ける。負けは負け。こんなの将棋じゃないとも思っていたが、何局か指しているとそもそもルールが異なるゲームで遊んでいるのだから、その考えはおかしいことに気付いた。負けるのは、将棋ウォーズのルール上、負けと判定される行為を行ったから負けなのだ。
 こんなこと考えるようになってから、将棋ウォーズでは時間の消費はオプションではなくて、ゲームの勝ち負けを直接左右する類のものだと気付き、使い方と時間に対する考え方を試行錯誤するようになった。つまり、“将棋ウォーズ”を指すようになり始めた。ただ、今のところ切れ負けが多い。
 長々と堅苦しく書き下したが、詰まる所、先ほど2戦ほど切れ負けした自分に対する愚痴なのだ。

Ubuntu18.04でOne Driveを使いたいんや

 One Driveのサイトに行ってダウンロードしようとすると分かるのですが、Linux用のアプリケーションがありません。どなたが言っていたか忘れましたが、Linuxでも使えたら、Windowsを使わないで良くなっちゃうからそんなもん出すわけないよねって事なんでしょうか。ただ、僕がこんな事いいな出来たらいいなと思う事は大概出来るようにしてくれている人がいます。タイトルの通りに、UbuntuでOne Driveにアクセス出来るようにしました。
____________

  • 1. One Drive Clientをインストールする為の準備
  • 2.One Drive Clientのインストール

____________

  • 1. One Drive Clientをインストールする為の準備

 色々な人たちの記事の冒頭にも載っていますが、(恐らく)デフォルトのUbuntuでは、
libcurl
SQLite3
Digital Mars D Compiler (DMD)
が入っていないし、途中で必要になる
git
curl
も入っていません。なので、これらを入れる準備が必要です。ちょっともう、まとめるのが面倒臭いので、以下の記事などを参考に入れます。
git

sudo apt-get install git

curl

sudo apt install curl

libcurl, SQLITE3, DMD
Ubuntu18.04でOneDriveを使うための手順 <ー冒頭でlibcurl, SQLITE3, DMD (その後One Drive Clientも入れていますが、僕は別記事に従いました。)

※!!!追記!!!:この記事に従ったほうが良さそうです・・・https://github.com/abraunegg/onedriveこちらからクローンし直しました(2019/03/26)。理由は、これ以降の手順でのクローン先のソースだと同期がうまく行かなかったからです。

  • 2.One Drive Clientのインストール

 準備が終わったら、gitコマンドでGitHub - skilion/onedrive: Free Client for OneDrive on Linuxからクローンしてきて、make, make allします(この時に、curlライブラリ?、dmdコンパイラが必要になる模様)。確かな記憶が既にないですがgithubに接続するとき、鍵が必要だった気がします。少なくとも自分は、公開鍵を登録しました。これらの作業は、以下の方々の記事に従いました。
One Drive Client
UbuntuでOneDriveを使う - Qiita <-ちゃんと読んだら、この方も始めにDMDやら諸々のインストールを説明してくれてました。
公開鍵、秘密鍵
GitHubでssh接続する手順~公開鍵・秘密鍵の生成から~ - Qiita

 記事に従いOne Drive Clientをインストールしたら、初期設定をします。onedriveコマンドを初めて打った時に出るurlにブラウザでアクセスして、自分のOne DriveへのOne Drive Clientの接続を許可します。具体的には、ブラウザ上で自分のアカウントIDとパスワードを入れると、真っ白のページが出てくるのでそのurlをコピーして、ターミナル上では、初onedriveコマンドが「それをここにペーストしろ」と待っているので、ペーストします。すると、ローカルに同期開始です(デフォルトだと、~/Onedriveが自動で作られます)。
同期先の変更
 ローカルのダウンロード先を指定したい場合は一旦動機を中止して、~/onedrive/configファイルを~/.config/onedrive/へコピペして、そのファイルのダウンロード先の指定部分を編集してあげます。これは、~/onedrive/README.mdに詳しく書かれているので、そちらも読んでください。

 ところでaptとapt-getの違いってなんなのでしょうか。debian系のパッケージ管理ツールがAPTだけれど、なぜコマンド側?では2つもあるんでしょうか。接続の仕組みが違うのですかね。

参考サイト
UbuntuでOneDriveを使う - Qiita
GitHub - skilion/onedrive: Free Client for OneDrive on Linux
cURL と libcurl を使ってインターネット経由でやりとりする
Ubuntu18.04でOneDriveを使うための手順
UbuntuにGitをインストールする - Qiita

emacsの起動時のメッセージを消す

 emacsをデフォルトのまま使うと、トップページみたいな画面が出てきてたいへんウザい。以前使っていた時にどうやって消していたのか忘れてしまったので、人様の知恵を拝借しました。
 ~/emacs.d/init.el や ~/.emacs などの設定ファイルに(どちらがいいのか不明)以下を記述。

(setq inhibit-startup-message t)

まぁ、記述じゃなくて、コピペしましたが。それにしても、僕は~/.emacsを新規に作成して書き込みましたが、何で設定方法と言うか、ファイルが2パターンあるんでしょう。

参考サイト
[Emacs] 起動メッセージを終了する・表示させない | あみだがみねのもろもろ備忘録
emacsの起動時の画面を消す パソコン鳥のブログ/ウェブリブログ

Ubuntu18.04起動時の自動マウントとパーティション

 Windowsだと始めから他のdriveたちが見えているので(出荷時に設定してくれている?)、何も気にしていませんでしたが、linuxだと他のdriveが見えませんので、自分でマウントしないといけません。mountコマンドを使えば、マウントできるのですが、これはいちいち起動したらマウントしないといけないので面倒臭い。
 そこで、起動時にマウントしてくれるように設定しました。
 簡単に行ってしまうと、/etc/fstabに起動時にマウントするように書き加えるだけです。
 /etc/fstabに書式:
 1.デバイス名(UUIDか絶対パス?)
 2.マウントポイント(一般的には/mnt/ などを作る模様)
 3.ファイルシステムext4,NTFSとかのフォーマットのこと)
 4.オプション(どんなオプションがあるのかよく分かりません)
 5.dumpの必要性(分からん、とりあえず0)
 6.fsckチェックの有無(分からん、0,1,2があるけど0やろ)
に従って、書いてあげると自動でマウントしてくれる様になります(バックアップはとっておく)。ね?簡単でしょ?嘘つけ、危うくUbuntuが起動しなくなったぞ。分からんけど、試しに触ってみるか的なノリで触るのは大変危険です(でした)。

 分かっている人にはスラスラ書けるのでしょうが、分からんもんは分からん。…GUIに頼りました。Ubunutuだと"Disks"があるので(あるんかい!そりゃあるか)、そこでパーティションを切ったり、フォーマットしたり、マウントの設定が出来ます。ここで自動マウントする様に設定する(チェック入れるだけ)とetc/fstabに書き加えてくれるので、書式なんて知らんでも、デフォルト的な設定はしてくれます。僕は意識高くターミナル上で全部済まそうとしたことをGUIでやってくれるのですね。便利になったもんだ。

参考サイト
HDDをフォーマットする - Ubuntu 18.04 LTS編
Ubuntu 起動時にディスクをマウントする - Qiita
Ubuntu Nautilus その33 - フォルダーやファイルのアイコンを変更する - kledgeb