gitで内部的に呼ばれるsshを別のユーザーとして実行する

この例では、ユーザーfooとしてsshを実行します。
1. ラッパースクリプトを作成。ここではssh-as-fooとしてます。
#!/bin/sh
ssh -lfoo -i/home/foo/.ssh/id_dsa "$@"
2. GIT_SSH環境変数に、上記のスクリプトを指定。
$ GIT_SSH=ssh-as-foo git pull

直接、通信できないホストからポートフォワーディングでsshログインする。

次のような環境を想定します。ホスト2からログインする方法を紹介します。

通信可能: host1 -> host2
通信付加: host1 x<- host2

1. ホスト1でhost2にポートフォワードします。
(host1)$ ssh host2 -R 8022:localhost:22
上記コマンドは、host2の8022番ポートを、host1(localhost)の22番ポートにフォーワードします。


2. ホスト2で、ポートを指定してログイン
(host2)$ ssh -p 8022 localhost

FirefoxからSafariにブックマークをインポート

メニューの「ファイル」→「読み込む」で「Firefox」を選べばよい。


いままでは、Xmarksとか使っていんだけど、ゴミが入ったり、Firefox syncと競合するのか、内容が壊れたりすることがしばしばあった。私は、それほど頻繁にブックマークの更新をしないので、必要がある度にこうやって手動でインポートすれば、問題ない。

GNU screenで実現するどこでも開発環境

GNU Screenをクラウド上の仮想マシンや、遠隔地に配置してあるマシンで実行させた時の便利さはこの上ない。接続が切れても、つなぎ直せば、それまで使用していた環境が一瞬で復元される。CUI版のリモートデスクトップあるいはVDIといったところ。

最近は、MacBook (2015年春モデル)を、しばしば利用する。そのコンパクトさと軽量さゆえ、外に持ち出すにはもってこいだ。CPUパワーに関しては、非力とまでは言わないが、このマシンでバリバリ開発するのは、Core i7を搭載した高性能なサーバーやデスクトップ機と比べて相対的に効率が悪い。

このマシンとの外出時、ネットワークで遠隔の開発マシンにsshでログインし、screenにアタッチすると、どこでも開発が行える。カフェなどでWIFIが使えれば最高だが、そうでない場合、IIJmioのSIMを入れたiPhoneでテザリングしてもリモートマシンへのpingが100ms前後は出る。少しレスポンスに遅さを感じることもあるが、実用にはなる。それよりも、ちょっとした時間や、アイデアが思いついたとき、迅速に作業できることが、なによりも大きな価値だ。

私がいつも、ログインに使用するコマンドは以下のようなものだ。

$ ssh remote-machine -t "screen -dr pts-1"

iPhone6 (Plus)でカーソルを表示

画面を横にする!

これだけなんですが、普段、縦メインで使っているので気づきませんでした。

縦表示時にカーソル記号はない

カーソル記号:<と>が表示されている



GitHubのコメントで、記号<をそのままHTMLで表示する

preタグとcodeタグを使う。

<pre><code>
#include <stdio.h>
</code></pre>

Macのターミナルで灰色(DarkGray)の文字が表示されない場合の対応

env | grep TERMとして、-256colorの付かない単なるxtermやscreenの場合、掲題の現象が発生することがある。
export TERM=xterm-256color
または
export TERM=screen-256color
とすればいい。

screen起動時に、自動的にこの環境変数を設定するには以下のいずれかを行う。
1. screenのコマンドラインオプションで-T screen-256colorをつける。
2. .screenに以下を記載する。
term screen-256color

yumですべてのバージョンを表示する例

yum --show-duplicates list package-name

rsyncの転送元の指定方法の注意点

srcに/をつけない場合、そのディレクトリがコピーされ、dest/srcが出来る。
rsync -av src dest
srcに/がある場合、src以下のファイルやディレクトリが、dest以下にコピーされる。
rsync -av src/ dest
なお、destの後ろに/をつけても、つけなくても結果は同じ。

makemkvconの使用例

makemkvを/usr/local/makemkvcon以下にインストールしている場合。
 
LD_LIBRARY_PATH=/usr/local/makemkv/lib /usr/local/makemkv/bin/makemkvcon --decrypt backup disc:/dev/sr0 title
/usr以下にインストールした場合はより簡単
makemkvcon --decrypt backup disc:/dev/sr0 title