基本的な操作#
clash for windows: Github Release
ダウンロードが完了したら、解凍し、現在のディレクトリで ./cfw
を実行します。
しかし、これでは毎回コンピュータを起動するたびにこの手順を繰り返す必要があり、少し面倒です。また、起動後は常にターミナルウィンドウが表示されます。
Screen のバックグラウンド操作#
構文
screen [-AmRvx -ls -wipe][-d < ジョブ名 >][-h < 行数 >][-r < ジョブ名 >][-s < シェル >][-S < ジョブ名 >]
パラメータ説明:
-A すべてのウィンドウを現在の端末のサイズに調整します。
-d <ジョブ名> 指定された screen ジョブをオフラインにします。
-h <行数> ウィンドウのバッファ行数を指定します。
-m 現在作業中の screen ジョブがあっても、新しい screen ジョブを強制的に作成します。
-r <ジョブ名> オフラインの screen ジョブを復元します。
-R まずオフラインのジョブを復元しようとします。オフラインのジョブが見つからない場合は、新しい screen ジョブを作成します。
-s <シェル> 新しいウィンドウを作成する際に実行するシェルを指定します。
-S <ジョブ名> screen ジョブの名前を指定します。
-v バージョン情報を表示します。
-x 以前オフラインだった screen ジョブを復元します。
-ls または–list 現在のすべての screen ジョブを表示します。
-wipe 現在のすべての screen ジョブを確認し、使用できない screen ジョブを削除します。
簡単な例:#
screen -S screenname
これにより、screenname という名前の screen が作成されます。この時、ターミナルを閉じるか、Ctrl+d を使用してバックグラウンドに移動できます。exit と入力すると、screen が直接終了します。
`screen -ls`
現在アクティブな screen をリストします。
注:作成された screen の中に実行中のプログラムがない場合、サスペンド後に自動的に解放されます。
“6160, 5945” は “test, clash” と同等の効果と見なされます。
Attached は別のターミナルウィンドウで開かれていることを示し、
Detached は開かれていないことを示します。
実際の操作#
これから screen を起動して新しい screen を生成し、バックグラウンドで実行するスクリプトを書きます。
screen_name="clash"
screen -dmS $screen_name
cmd="sh /home/seele/Documents/clash.sh"
screen -X -S $screen_name -p 0 -X stuff "$cmd"
screen -x -S $screen_name -p 0 -X stuff '\r'
"\r" はエンターを入力するためのもので、そうしないと screen は上の文を入力するだけで実行しません。もし一文にまとめると、前の文に改行を加えるだけで実行はしません。
clash.sh は clash を起動するスクリプトで、以下のようになります:
cd /home/seele/Documents/'Clash for Windows-0.18.1-x64-linux'/ && ./cfw
最後に、alias を設定するか、起動時に screen.sh スクリプトを実行することで、clash をより便利に起動できます。
注意:#
この方法は clash を何度も再起動する必要がある場合、簡単な操作とは言えません。なぜなら、screen 内の clash screen は自動的に閉じることができないからです。最終的には Appimage がこの種のソフトウェアの最良の処理方法であり、公式のサポートを期待しています。