グラフィックス以外のコンソール(<Ctrl> <Alt> <F ...>)とXセッション間でコピー/貼り付けを実行する最速の方法は何ですか?
今:
- コンソールでマウスでテキストを選択します(gpmがインストールされています)。
- 次に、テキストを一時ファイルに貼り付けます。
- 最後に、xセッションに切り替えて一時ファイルを開き、その内容をコピーして貼り付けます。
これを行うより簡単な方法はありますか? X以外のコンソールとXセッションのデフォルト選択をマージできますか?理想的には、コンソールでテキストを選択してXセッションに切り替えて貼り付けたい(マウスの中央をクリック)。これは可能ですか?
答え1
そのような目標を達成する「最良の」方法は、意見に基づいている可能性が高いです。
私が好む方法はバックログ地域ターミナルの様子です。
tty [N]のバックログが/ dev / vcs [N]を介してアクセス可能であることがわかっているため、cat /dev/vcs[N]
Xterm内で簡単に起動し、表示された結果に応じて任意の操作を実行できます。
もちろん、Xtermユーザーがダンプしたいttyの所有者と異なる場合は、sudoを使用する必要があります。
ところで、コメントに賢明に報告されているように、改行文字がないため形式が迷惑なこともあります。man vcs
可能な解決策が提供されます。
Note that the output does not contain newline characters, so some
processing may be required, like in
fold -w 81 /dev/vcs3 | lpr
or (horrors)
setterm -dump 3 -file /proc/self/fd/1
答え2
あなたができるもう一つのことは画面。 tty/pty から切り離して別の端末に再接続できる仮想端末を作成します。
だからあなたのユースケースについて始めましょう。画面コンソールセッション:
~ $ screen -L -S TestTerm
そして明確にするために」-エルロギングをオンにすると、起動したディレクトリにログファイルが作成されます。画面から、そして」-S「与えられた画面セッションすべてのセッションを一覧表示するときにどのセッションかを識別するのに役立つ名前。画面「との出会い-ls」。
コンソールでアプリケーションを実行する必要がある場合は、アプリケーションを実行して実行中に「(Ctrl + A)+(Ctrl + D)」を押してコンソールから切り離します。画面会議。その後、デスクトップに移動して端末を開き、次を実行します。
~ $ screen -ls
There is a screen on:
10296.TestTerm (Detached)
1 Socket in /tmp/screen/S-ChennyStar.
これでPIDと名前ができました。画面セッションなので、xtermに再接続してください。
~ $ screen -d -r 10296.TestTerm
そして明確にするために」-D「言う画面セッションがまだ別の場所に接続されている場合は、そのセッションを切り離して-アル字型「言う画面セッションを現在の端末に再接続します。
コピーする出力の量に応じて再接続すると、出力が初期端末バッファを超える可能性があります。ただし、それだけ出力すると、ログファイルにもすべての出力が含まれます。
お役に立てば幸いです。
答え3
を使用してxsel
Xでクリップボードを設定し、DISPLAY
接続するXを示す変数を設定できます。同じユーザーアカウントを使用している限り、ターミナルで起動されたプログラムはXに接続できません(DISPLAY
設定されている場合)。
some command | DISPLAY=:0 xsel -ib
その後、貼り付けます。
答え4
良いオプションはインストールbsdutils
して使用することですscript
sudo apt install bsdutils
そして走る
$ script
Script started, file is typescript
$ type commands
get output
...
$ exit
その後、他の場所(端末ウィンドウなど)からコマンドと出力を読み取ってless -R
ANSI形式を処理できますが、この方法cat
も機能します。
$ less -R typescript