vnc: 기본적으로 열리는 터미널 응용 프로그램을 사용하여 쉘 프롬프트를 가져올 수 없습니다

vnc: 기본적으로 열리는 터미널 응용 프로그램을 사용하여 쉘 프롬프트를 가져올 수 없습니다

VNC 서버(민트의 vnc4server)를 설정 중이고 창 관리자를 사용하는 기본 xstartup 파일이 있습니다 ~/.vnc.. twmVNC 서버에 연결하면 인증에 성공하고 단말기도 보이는데 프롬프트가 안 뜹니다. 마우스를 사용하여 터미널에서 새 탭을 열 수 있지만 터미널 응용 프로그램은 누른 키에 대해 작동하지 않습니다. 임의의 키 몇 개를 누르고 패킷을 캡처하면 해당 키가 VNC 서버 상자에 "클라이언트 키 이벤트"로 수신됩니다. VNC 클라이언트는 키보드 및 마우스 이벤트를 전달할 수 있고 프레임 버퍼 업데이트를 받을 수 있지만 어떤 이유로 서버에서 실행 중인 응용 프로그램이 키보드 이벤트를 처리하지 못하는 것 같습니다.

x 시작 파일:

~/.vnc$ ls
passwd  rag-tos-laptop:1.log  rag-tos-laptop:1.pid  xstartup*  xstartup.bak*

~/.vnc$ cat xstartup
#!/bin/sh

# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
twm &

터미널 메뉴를 보여주는 스크린샷

추가 조사를 통해 gedit를 실행하면 작동한다는 사실을 발견했습니다(문장 입력). 이는 모든 터미널(+셸)에서 작동하는 문제일 뿐인 것 같습니다. xstartup에서 gnome-terminal을 시작해도 여전히 VNC 뷰어에서 쉘을 얻을 수 없습니다. 추가 진단 정보:

~/.vnc$ ps --ppid 3334 -o pid,ppid,stat,cmd
  PID  PPID STAT CMD
 3342  3334 S    gnome-pty-helper
 3343  3334 Ss+  bash

~/.vnc$ ls -l /proc/3334/fd
total 0
lr-x------ 1 rag rag 64 Jan  5 23:25 0 -> /dev/null
l-wx------ 1 rag rag 64 Jan  5 23:25 1 -> /home/rag/.vnc/rag-tos-laptop:1.log
lrwx------ 1 rag rag 64 Jan  5 23:25 10 -> socket:[17343]
lrwx------ 1 rag rag 64 Jan  5 23:25 11 -> anon_inode:[eventfd]
lrwx------ 1 rag rag 64 Jan  5 23:25 12 -> /dev/ptmx
lrwx------ 1 rag rag 64 Jan  5 23:25 13 -> /dev/pts/4
lrwx------ 1 rag rag 64 Jan  5 23:25 14 -> socket:[19273]
lrwx------ 1 rag rag 64 Jan  5 23:25 15 -> anon_inode:[eventfd]
l-wx------ 1 rag rag 64 Jan  5 23:24 2 -> /home/rag/.vnc/rag-tos-laptop:1.log
lrwx------ 1 rag rag 64 Jan  5 23:25 3 -> socket:[19263]
lrwx------ 1 rag rag 64 Jan  5 23:25 4 -> socket:[19267]
lrwx------ 1 rag rag 64 Jan  5 23:25 5 -> anon_inode:[eventfd]
lrwx------ 1 rag rag 64 Jan  5 23:25 6 -> anon_inode:[eventfd]
lrwx------ 1 rag rag 64 Jan  5 23:25 7 -> socket:[20165]
lrwx------ 1 rag rag 64 Jan  5 23:25 8 -> socket:[17342]
lrwx------ 1 rag rag 64 Jan  5 23:25 9 -> anon_inode:[eventfd]

~/.vnc$ ls -l /proc/3343/fd
total 0
lrwx------ 1 rag rag 64 Jan  5 23:23 0 -> /dev/pts/4
lrwx------ 1 rag rag 64 Jan  5 23:23 1 -> /dev/pts/4
lrwx------ 1 rag rag 64 Jan  5 23:23 2 -> /dev/pts/4
lrwx------ 1 rag rag 64 Jan  5 23:25 255 -> /dev/pts/4

답변1

나는 똑같은 문제가 있습니다. 얇고 가벼워서 TWM을 선호합니다. Linux Mint 상자는 내 홈 서버이며 GUI 도구는 거의 필요하지 않습니다. 내가 하는 거의 모든 일은 명령줄 작업입니다. 수많은 스크립트가 실행됩니다.

내가 한 일은 다음과 같습니다.

  1. sudo apt-get 설치 xterm
  2. xterm을 사용하려면 ~/.vnc/xstartup을 편집하세요.

#!/bin/sh

exec /etc/X11/xinit/xinitrc [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources

xsetroot -solid grey   

vncconfig -iconic &  #!/bin/sh



/usr/bin/xterm -geometry 80x24+10+10 -ls -title "xterm" &   

/usr/bin/xterm -geometry 80x24+200+200 -ls -T "xterm" &   

twm &

Linux Mint 17.1에서 TWM 창 관리자를 실행하는 VNC 서버 그래서 저는 mate-terminal, gnome-terminal 또는 x-terminal-emulator가 아닌 xterm을 사용합니다.

왜 다른 것들은 작동하지 않는지 모르겠지만 xterm에 만족합니다. 한 창에서 여러 세션/탭을 수행하는 것 같지는 않지만 xterm을 입력하고 자체 창에서 새 세션을 열면 동일한 결과를 얻을 수 있습니다.

ShiftCtrl- CShift-V를 사용하여 잘라내어 붙여넣기도 Ctrl작동하지 않지만 마우스로 텍스트를 강조 표시한 다음 대상 창으로 이동하고 마우스 가운데 버튼(또는 왼쪽 및 오른쪽 버튼을 동시에 눌러 붙여넣기)으로 동일한 작업을 수행할 수 있습니다. ) . 이것이 내 노트북의 vncviewer 창에서 동일한 노트북의 Firefox 브라우저 창으로 위의 xstartup 파일을 붙여넣는 방법입니다. 서버의 xterm 간에도 동일한 접근 방식이 적용됩니다.

참고: 이 -title매개변수는 무시됩니다. 이유를 모르겠어요.

관련 정보