VNC 서버(민트의 vnc4server)를 설정 중이고 창 관리자를 사용하는 기본 xstartup 파일이 있습니다 ~/.vnc.
. twm
VNC 서버에 연결하면 인증에 성공하고 단말기도 보이는데 프롬프트가 안 뜹니다. 마우스를 사용하여 터미널에서 새 탭을 열 수 있지만 터미널 응용 프로그램은 누른 키에 대해 작동하지 않습니다. 임의의 키 몇 개를 누르고 패킷을 캡처하면 해당 키가 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 도구는 거의 필요하지 않습니다. 내가 하는 거의 모든 일은 명령줄 작업입니다. 수많은 스크립트가 실행됩니다.
내가 한 일은 다음과 같습니다.
- sudo apt-get 설치 xterm
- 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 &
그래서 저는 mate-terminal, gnome-terminal 또는 x-terminal-emulator가 아닌 xterm을 사용합니다.
왜 다른 것들은 작동하지 않는지 모르겠지만 xterm에 만족합니다. 한 창에서 여러 세션/탭을 수행하는 것 같지는 않지만 xterm을 입력하고 자체 창에서 새 세션을 열면 동일한 결과를 얻을 수 있습니다.
ShiftCtrl- C및 Shift-V를 사용하여 잘라내어 붙여넣기도 Ctrl작동하지 않지만 마우스로 텍스트를 강조 표시한 다음 대상 창으로 이동하고 마우스 가운데 버튼(또는 왼쪽 및 오른쪽 버튼을 동시에 눌러 붙여넣기)으로 동일한 작업을 수행할 수 있습니다. ) . 이것이 내 노트북의 vncviewer 창에서 동일한 노트북의 Firefox 브라우저 창으로 위의 xstartup 파일을 붙여넣는 방법입니다. 서버의 xterm 간에도 동일한 접근 방식이 적용됩니다.
참고: 이 -title
매개변수는 무시됩니다. 이유를 모르겠어요.