콘솔과 X 세션 간 복사/붙여넣기는 어떻게 합니까?

콘솔과 X 세션 간 복사/붙여넣기는 어떻게 합니까?

그래픽이 아닌 콘솔(<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

그리고 명확히 하기 위해 "-엘" 로깅을 켜면 시작한 디렉터리에 로그 파일이 생성됩니다.화면에서, 그리고 "-에스"주어진화면세션 모든 세션을 나열할 때 어떤 세션인지 식별하는 데 도움이 되는 이름입니다.화면"와의 만남-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

그리고 명확히 하기 위해 "-디" 말하다화면세션이 여전히 다른 곳에 연결되어 있으면 해당 세션을 분리하고 "-아르 자형" 말하다화면세션을 현재 터미널에 다시 연결합니다.

복사하는 출력의 양에 따라 다시 연결할 때 출력이 초기 터미널 버퍼를 초과할 수 있습니다. 그러나 그 만큼 출력하면 로그 파일에도 모든 출력이 포함됩니다.

도움이 되길 바랍니다.

답변3

를 사용하여 xselX에서 클립보드를 설정할 수 있으며, 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 -RANSI 형식을 처리할 수 있지만 이 방법 cat도 작동합니다.

$ less -R typescript

관련 정보