\r\n\r\n

linux端末で画面を見ながらマルチタスクする方法

コマンドラインの生産性を最大限に高めたいなら、gnu screens は複数のターミナルセッションを簡単に実行できるようにします...

Linuxユーザーであれば、いつかはLinuxターミナルを使い始めなければなりません。ターミナルコマンドの中にはポピュラーなものもあれば、曖昧なものもありますが、多くの場合、GUIからコマンドを実行するよりも、ターミナルウィンドウからコマンドを実行する方が簡単なのです。

しかし、一度に複数のコマンドを実行する必要がある場合はどうなるでしょうか。 GNU screen はターミナルのマルチタスク化をとても簡単にします。

GNU SCREEN(ヌースクリーン)は何ですか?

GNU-Screen は Linux ターミナル用のツールで、ターミナルを複数のターミナルに分割します。つまり、次のようなコマンドを実行することができます。

wget

秒間実行に切り替えながら、画像ファイルをダウンロードする、など。

systemctl

をクリックして、ドライブのS.M.A.R.T.ステータスを確認することができます。

このような別々のコマンドを別々のセッションで実行することができ、接続と切断を自由に行うことができるのです。

自分のパソコンだけでなく、遠隔地のサーバーを管理する場合には、ほぼ必須です。SSH経由でサーバー上でコマンドを実行した場合、切断するとどうなるのでしょうか?コマンドはまだ実行されているかもしれませんが、それを簡単に監視したり操作したりすることはできません。

画面は、あなたに代わってこれを行います。接続が切れた場合は、画面セッションに再接続するか、画面セッションを切断して、再びアクセスする必要があるまでバックグラウンドで実行したままにしておくことができます。

スクリーンの取り付け方法

ScreenはほとんどのLinuxディストリビューションに付属していませんが、Linuxより前に開発されたものなので、サポートは充実しています。

UbuntuまたはDebianベースのディストリビューションにインストールする場合は、以下のコマンドを実行します。

sudo apt-get updatesudo apt-get install screen

同様に、Arch を起動している場合は、シェルウィンドウを開いて実行してください。

sudo pacman -Syusudo pacman -S screen

Fedoraをお使いの方は、以下のコマンドを実行してください。

sudo yum updatesudo yum install screen

スクリーンセッションの開始

スクリーンセッションの開始は簡単です。ターミナルを開くか、SSH接続を確立して、screenと入力します。画面紹介のウィンドウが表示されますので、スペースバーまたはエンターキーを押して閉じます。

この操作を行うと、端末の画面は通常の状態に戻ります。画面セッションを実行していることは目に見える形で表示されませんが、これ以降に実行するすべてのコマンドはセッションで実行され、そのセッションを自由に切り離したり再接続したりできるようになりました。

画面の表示と切り離し

画面セッションを再び使用する場合は、画面セッションの接続と切断の方法を知っておく必要があります。すでにスクリーンセッション中の場合は、Ctrl+aを押した後、d(小文字)を押してください。

セッションとその中で実行中のコマンドは、後日再接続できるようにバックグラウンドで実行されるように分離されます。実行中の画面セッションが1つだけであると仮定して、次のように入力します。

screen -r

リモートで強制的にセッションを切り離し、その後自分で再接続する必要がある場合は、次のように入力します。

screen -rd

特定のセッションに再接続するには、セッションのプロセス ID 番号を見つける必要があります。

screen -ls

または

screen -r

リストアップしてください。

上記のように、タイプ

screen -r

そして、各セッションの開始時に初期ID番号があります。

screen -r 25407

セッションを終了し、その中で実行中のコマンドをキャンセルするには、セッションに再接続して、次のように入力します。

exit

.

その他、覚えておきたい画面端末のコマンド

そんな方のために、Screenにはちょっとしたコツがあります。ここでは、覚えておきたい代表的なターミナルコマンドをご紹介します。

一覧画面のキーボードショートカット

他の優れた端末プログラムと同様に、Screenにもキーボードショートカットが用意されています。すでにCtrl+Aやdで既存の画面を分離していますね。

残りを見たい場合は、Ctrl+A の後に ? を入力すると、処理できるものの一覧が表示されます。

セッションでのウィンドウの作成と切り替え

コマンドを実行するためにセッションを切り替える必要はありません。また、セッション内でウィンドウを切り替えることも可能です。

セッションで新しいウィンドウを作成するには、Ctrl+aを押した後、c(小文字)を押してください。最初のウィンドウは0から始まり、次のウィンドウは1、といった具合です。

Ctrl+Aを押しながら0~9の数字で絞り込みます。 各セッションを一覧表示するには、Ctrl+Aを押しながらw(小文字)で、1つのIDを持つセッションの一覧を表示します。

名前を使ったセッションの作成

ランダムに生成されるIDは覚えにくいので、セッションに名前を付けると楽になるかもしれません。

screen -S examplename

このセッションに名前を付けて再接続するには、次のように入力します。

screen -X examplename

画面共有セッション

同僚や友人と端末を共有したいですか? スクリーンのおかげで、タイプすることができます。

screen -rx

現在このセッションに接続している人を切り離すのではなく、単にセッションに参加するのです。他のユーザーは、あなたが何を入力し、どのようなコマンドを実行したかを見ることができます。また、他のユーザーが同じことをした場合、それを監視することもできます。

画面出力をファイルに記録する

メンテナンスまたは監査上の理由から、画面出力をファイルに記録する必要がある場合があります。これを行うには、次のように入力します。

screen -L

セッションは、ホームディレクトリにあるscreenlog.x(xは0から始まる数字)というファイルにログインできる状態で開始されます。セッションでログを開始するには、Ctrl+a の後に H (Shift+H) を入力します。

ロック画面セッション

画面セッションを保護したい場合は、既存のLinuxパスワードでセッションをロックすることができます。

Ctrl+A、x(小文字)の順に入力すると、現在のセッションが接続されている間、セッションをロックすることができます。

これにより、現在のターミナルウィンドウにロックされます。ロック解除するには、アカウントのパスワードを入力してください。

端末のマルチタスク化はこれ以上ないほど簡単

GNUスクリーンのおかげで、ターミナルコマンドの完了を待つ心配はありません。遠隔地のサーバーを操作する場合にも便利ですが、自宅のパソコンでも、1つのウィンドウから複数のコマンドを実行する必要がある場合には、とても便利なツールです。

システム管理者に最適なツールです。しかし、Linux端末のツールボックスの中にある唯一のコマンドではないので、この重要なLinuxコマンドのメモ一覧をブックマークしておくとよいでしょう。

  • 2021-03-21 22:09 に公開
  • 閲覧 ( 30 )
  • 分類:IT

あなたが興味を持っているかもしれない記事

匿名者
匿名者

0 件の投稿

作家リスト

  1. admin 0 投稿
  2. 匿名者 0 投稿

おすすめ