このスキームを使用すると、すべてのコンピューターでの作業環境はPuTTYとブラウザーだけになりますが、マルチスクリーンで開発に安全な開発ツールのすべてがサーバー側にあります。 ライトが突然点滅すると、すべてのコンピューターが再起動し、一般的な印刷不可能な表現があらゆる方向から来ます。サーバーに再接続すると、再起動前の表現の真ん中にいることに気づきます。 これは非常に便利です。ローカルコンピューターには、PuTTY、ブラウザー、およびWinAmpしかなく、コンピューターを窓から出して新しいコンピューターを取り出してから5分後に同じことを安全に行うことができます。
まあ、正式には、開発環境の要件は次のとおりです。
- VIMテキストエディター
- ローカルコンピューター上のWindows(ターミナルを備えた他のOSも適しています)
- ローカルコンピューターでの作業設定の完全な欠如
- いくつかの並行した本格的なコンソール(ログ、DBコンソール、あらゆる種類の構成、コード、テンプレートなど)
- 各コンソールはタブであり、それらの間の切り替えはShift + <左右矢印>を使用して実行されます
- サーバーから切断するときにすべてのコンソール(タブ)の状態を保存する
欠点もあります:
- ネットワークなし-作業なし。 文字なし。 ただし、テストサーバーで作業するWeb開発者にとって、ネットワークなしで作業することは依然として非現実的であるため、これを重大な欠点とは見なしません
- コンソールコードエディターのみ。 すでに述べたように、以下で説明するものはすべて、コンソールでの作業に関連します。 主な主力は、Linux画面です
- なぜなら PuTTYには独自のテキストバッファーがあり、画面にはそれがあり、お互いのことを知りません。長いSELECTのスレッドの出力をスクロールアップするには、Ctrl + Aを押してからESCを押す必要があります。その後、カーソルとPgUpを使用できます、PgDownは画面-バッファを上下し、Enterキーを押して画面-バッファナビゲーションモードを終了します
私は怠け者です。たくさんの設定オプションを読んだり、使用されているプログラムの複雑さを掘り下げたりすることにあまり興味がありません。そのため、著者はいくつかの異なる記事から多くの設定をコピーしました。
まず第一に、PuTTYからの2つのスクリーンショット、より正確にはその修正begPuTTYです。 begPuTTYを使用する目的は1つだけです。キーボードショートカットShift + Arrow LeftおよびShift + Arrow Rightをコンソールに正しく転送します。これは、xtermコンソール間で切り替える必要があります。 ここからダウンロードして著者に感謝することができます。 別のキーの組み合わせを使用してタブを変更する準備ができている場合は、通常のPuTTYを使用できます。 実際、プロジェクトで作業するために必要なのはそれだけです。 ポータブルですね。
スクリーンショット:


ここで最も興味深いのは、AUTO1、AUTO2などのボトムラインです。 これらはタブであり、私は非常に切望されたShift + Arrow Left / Rightを使用してそれらを切り替えます、そして、それぞれは独立したスクリーンを保存する本格的な独立したコンソールです。 たとえば、AUTO2では、開いているmysqlコンソールが通常ハングし、AUTO3およびAUTO4コードではハングします。 タブの数に貪欲にならないことをお勧めします。なぜなら、 人は、混乱することなく、6〜9個のエンティティを効果的にメモリに保持できます。 このようなタブの数は簡単に覚えておくことができ、何が起こっているのかを覚えることができます。 もっとやるなら、どこを思い出すのに時間を費やす必要があります。 しかし、これはそうです、認知心理学の始まりへの遠足...
サーバーに入ったら、コマンドを実行して目的のプロジェクトに接続し、screenはステータスバーにタブを持つ8つの新しい独立したコンソールを作成するか、現在のコンソールに接続して個々のコンソールの状態を復元します。
たとえば、「 auto 」と「 moto 」の2つのプロジェクトがあり、それぞれに独自の環境と独自の画面セットがあるとします。 環境変数$ PROJに応じて、プロジェクトごとに異なる環境と異なるエイリアスを含む.bashrcが1つあります 。 これが.bashrcです:
# .bashrc # , .bashrc # … # – , screen , # , , alias auto='screen -AadRRS auto_screen -c /home/supergdeto/WORK/.screenrc_auto' alias moto='screen -AadRRS moto_screen -c /home/supergdeto/WORK/.screenrc_moto' # , $PROJ == 'auto' – ENV “auto” If [ "$PROJ" = 'auto' ]; then export PROJECTPATH="/home/supergdeto/auto/" alias chik_chik_i_v_production='echo “yupi”' cd /home/supergdeto/auto/ # auto fi # 'moto' – If [ "$PROJ" = 'moto' ]; then export PROJECTPATH="/home/supergdeto/moto/" alias chik_chik_i_v_production='echo “yupi”' cd /home/supergdeto/moto/ # moto fi
別の画面(タブの1つ)が非常に簡単に起動します-数行のスクリプト。 「 auto 」と「 moto 」の2つのそのような単純なファイル:
$猫/ホーム/ supergdeto / WORK / dev_env_auto
export PROJ=auto bash
$猫/家/ supergdeto / WORK / dev_env_moto
export PROJ=moto bash
そして最後に、主なもの: .screenrc_auto ( .screenrc_motoアナロジーによって作成された)
$ cat /home/supergdeto/WORK/.screenrc_auto
# Turn off start message: startup_message off # Set messages timeout to one second: msgwait 1 # keep scrollback n lines defscrollback 5000 hardstatus alwayslastline termcapinfo xterm*|rxvt*|kterm*|Eterm* 'hs:ts=\E]0;:fs=\007:ds=\E]0;\007' termcapinfo xterm ti@:te@7 # , , .. hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{y}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %d/%m %{W}%c %{g}]' nethack on vbell off # Shift+Arrow Left/Right bindkey ^[[1;2C next bindkey ^[[1;2D prev # 8 AUTO1 – AUTO8 screen -t AUTO1 /home/supergdeto/WORK/dev_env_auto screen -t AUTO2 /home/supergdeto/WORK/dev_env_auto screen -t AUTO3 /home/supergdeto/WORK/dev_env_auto screen -t AUTO4 /home/supergdeto/WORK/dev_env_auto screen -t AUTO5 /home/supergdeto/WORK/dev_env_auto screen -t AUTO6 /home/supergdeto/WORK/dev_env_auto screen -t AUTO7 /home/supergdeto/WORK/dev_env_auto screen -t AUTO8 /home/supergdeto/WORK/dev_env_auto
ファイルの最後には、8つのスクリーンショットタブとその名前があります。 それらに接続するには、ログインして「 auto 」と入力し、 スクリーン-AadRRS auto_screen -c /home/supergdeto/WORK/.screenrc_autoを開始します 。これにより、新しいスクリーンショットが作成されるか、既存のスクリーンショットに接続されます。 私たちの経験では、新しい画面は通常、開発サーバーが過負荷になったとき、または何らかのバイナリ出力が画面を「爆発」したときにのみ作成されます。 これは非常にまれにしか発生しないため、通常は未保存のファイルについても心配しません。
さて、今ボーナス! 怠け者である私は、すべての記事にひどく欠けていたため、実際にこのことをすぐに試すことができませんでした。 割れますが、画面の複雑さを理解するのを嫌がり、キーコードをPuTTYに転送して、ステータスバーの形式を描画します。 ずっと前にこれが好きな人は誰でも私よりも良いことをしてくれたので、試してみたい人のために注意を払って段階的に指示を出しました。 複数のプロジェクトがある場合は、新しいプロジェクトに対して手順3〜8を繰り返します。 許可ユーザー:アバター、プロジェクト:projectone
- ここから begPutty をダウンロードして使用してください
- ディレクトリ/ home / avatar / WORKを作成します
- WORKでdev_env_projectone実行可能ファイルを作成し(別のタブを起動します)、そこに2行書き込みます
export PROJ=projectone bash
- そこに.screenrc_projectoneファイルを作成し( 多数のスクリーンショットを開始し、それぞれにdev_env_projectone ファイルを起動します)、この記事の.screenrc_autoリストの内容をコピーします
- " screen -t AUTO1 / home / supergdeto / WORK / dev_env_auto "のような行の名前を " screen -t PROJECTONE1 / home / avatar / WORK / dev_env_projectone "に変更し、これらの行の数を必要なタブの数と等しくする
- .bashrcで、プロジェクトごとに異なる環境が必要な場合は、PROJ ==” projectone”のセクションを次のように追加します。
If [ "$PROJ" = 'projectone' ]; then # , projectone fi
- ibid .bashrc add alias
エイリアスprojectone = 'screen -AadRRS projectone_screen -c /home/avatar/WORK/.screenrc_projectone'
- ログインまたは.bashrc
サーバーに接続し、コンソールで「projectone」と入力すると、タブが表示されます。 それぞれに、プロジェクト「projectone」の環境を備えたコンソールがあります。
「SPASI ...」と入力し始めると、突然LANまたはコネクタの電源が切断されるか、WiFiが切断されます。 その後、操作を繰り返し、最後に魔法の言葉を追加して......