基本的な実行手順#
clash for windows: Github リリース
ダウンロードが完了したら、解凍し、現在のディレクトリで ./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 は上記のコマンドを入力するだけで実行されません。1 つのコマンドに統合すると、前のコマンドに改行が追加されるだけで実行されません。
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 がこのソフトウェアの最適な処理方法です。公式のサポートを期待しています。