Linux関係(主にUbuntu)
ホームディレクトリの名称(デスクトップ等)を日本語から英語に変更する
LANG=C xdg-user-dirs-gtk-update
ウィンドウが表示されるので,"Don't ask me this again"にチェックした後"Update Names"をクリック。
ディレクトリ内を検索する
find ファイル名
VSCode(Visual Studio Code)のインストール
Microsoft提供のテキストエディタ。(個人的には)VimやEmacsよりかなり使いやすい。
Snapからインストールする(Ubuntu 20.04LTSではデフォルトで使える)。
sudo snap install --classic code
*Snapが使えない場合,ここを参考にインストールする。
Ubuntu 20.04LTSで古い認証方法(Diffie-Hellman key exchange sha1)を有効にする
Ubuntu 20.04LTSだと古い方式がデフォルトで認証されず,古いサーバにログインできないことがある。 しかし,~/.ssh/configに以下の設定を書き足すことでログインできるようになる。
Host サーバ名 KexAlgorithms diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
*サーバ名は適切な名前に置き換えること。
Ubuntuにおけるbash_profileについて
Ubuntuでは(Bashがデフォルトの場合)ログイン時に実行される~/.bash_profileや~/.profileがデフォルトでは実行されない。 したがって,環境変数などの設定は基本的に~/.bashrcに書くようにする。
ImageMagick6でepsやpsファイルを扱えるようにする
インストール直後のImageMagick(バージョン6以上)でeps等をjpg等に変換しようとすると以下のエラーが表示される。
convert -density 200 -rotate +90 -flatten hoge.ps hoge.png # convert-im6.q16: attempt to perform an operation not allowed by the security policy `PS' @ error/constitute.c/IsCoderAuthorized/408. # convert-im6.q16: no images defined `japan.png' @ error/convert.c/ConvertImageCommand/3258.
これは,ImageMagickのセキュリティ設定により,デフォルトではps形式やeps形式の処理を禁止しているためである。
これらを処理するためには,/etc/ImageMagick-6/policy.xmlのpsやepsに関する権限(rights)を以下のとおり変更する必要がある。
*policy.xmlを変更する際には,管理者権限で(i.e., スーパーユーザーやsudoを使って)テキストエディタを開くこと。
# /etc/ImageMagick-6/policy.xml 90行目付近 <!-- disable ghostscript format types --> <policy domain="coder" rights="read|write" pattern="PS" /> <!-- rightsを"none"から"read|write"に書き換える --> <policy domain="coder" rights="none" pattern="PS2" /> <policy domain="coder" rights="none" pattern="PS3" /> <policy domain="coder" rights="read|write" pattern="EPS" /> <!-- rightsを"none"から"read|write"に書き換える --> <policy domain="coder" rights="none" pattern="PDF" /> <policy domain="coder" rights="none" pattern="XPS" />
policy.xmlを保存した後,先程のconvertコマンドを実行すると正常に変換が行われる(はず)。
ターミナルを開き直さずに~/.bashrcの変更内容を反映する
~/.bashrcはターミナルを起動時にのみ読み込まれる。したがって,~/.bashrcを保存したらすぐその変更が反映されるわけではない
ターミナルを再起動せず(開き直さず)に変更内容をターミナルに反映したい場合,sourceコマンドを実行する。
source ~/.bashrc
lsで特定の名前のついたファイルを検索する
lsの標準出力をパイプでgrepに渡すことで,特定の名前のついたファイルのみのリストを表示する。
ls | grep 特定の名前
例えば,lsの結果からjpgファイルのみを出力したい場合は
ls | grep .jpg # hoge.jpg # huga.jpg
とすれば,ディレクトリ内にあるファイルの内jpgファイルのみを抽出できる。
~/.ssh/configに接続先を登録する
SSH先のアドレスが複雑だったりログインする際に色々なオプションを付けりする必要がある場合,コマンドが長くなってしまう。
そんなときは~/.ssh/config (/home/ユーザー名/.ssh/config)に接続先情報を登録してしまうと便利。接続先の情報を以下のように登録する。
Host hoge-type1 Hostname hogehoge.hugahuga.nagoya-u.ac.jp User hogege IdentityFile ~/.ssh/keyhoge
と入力して保存しておくと,次回から
ssh -X hoge-type1
とするだけでリモート先に公開鍵認証を用いて入ることができる。これは
ssh -X -i ~/.ssh/keyhoge hogege@hogehoge.hugahuga.nagoya-u.ac.jp
と入力してログインすることと同じである。