vnc: não é possível obter um prompt de shell com o aplicativo de terminal aberto padrão

3

Estou configurando um servidor vnc (vnc4server no mint) e eu tenho um arquivo xstartup padrão em ~ / .vnc. Eu estou usando o gerenciador de janelas twm. Quando eu me conecto ao servidor vnc, eu posso autenticar com sucesso e ver o terminal, mas eu não recebo um prompt. Eu posso abrir uma nova guia no terminal usando o mouse, mas nenhuma das teclas pressionadas são acionadas pelo aplicativo Terminal. quando eu pressiono algumas teclas aleatórias e na captura de pacotes, essas chaves são recebidas como 'Evento chave do cliente' na caixa do servidor vnc. Parece que o cliente vnc pode passar eventos de teclado e mouse e pode receber atualizações de buffer de quadros, mas por algum motivo o aplicativo em execução no servidor não parece processar eventos de teclado.

arquivo xstartup

~/.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 &

em uma investigação mais aprofundada, descobri que posso trabalhar (digitar sentenças) se eu iniciar o gedit, então parece ser apenas um problema trabalhar com qualquer terminal (+ shell) Quando eu inicio o gnome-terminal no xstartup, ainda não consigo obter um shell no meu visualizador vnc. mais algumas informações de diagnóstico

~/.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
    
por rag 04.01.2015 / 15:50

1 resposta

1

Eu tive exatamente o mesmo problema. Eu prefiro usar TWM como é magra e leve. A caixa Linux Mint é meu servidor doméstico e raramente precisa de ferramentas GUI. Quase tudo que eu faço é coisa de linha de comando - muitos scripts rodando.

Aqui está o que eu fiz:

  1. sudo apt-get instala o xterm
  2. edite ~ / .vnc / xstartup para usar o xterm.
#!/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 &

Então, eu uso o xterm, não o terminal-mate, o gnome-terminal ou o emulador x-terminal.

Não sei porque os outros não funcionam, mas estou feliz com o xterm. Eu não pareço fazer várias sessões / abas em uma janela, mas você pode conseguir o mesmo apenas digitando xterm & para abrir uma nova sessão em sua própria janela.

Recorte e cole usando Shift - Ctrl - C e Shift - Ctrl -V também não funciona, mas você pode fazer exatamente o mesmo, destacando o texto com o mouse, em seguida, mover para a janela de destino e pressione o botão do meio do mouse (ou esquerda e direita juntos) para colar. Foi assim que colei o arquivo xstartup acima, da janela do vncviewer no meu laptop para a janela do navegador do firefox no mesmo laptop. O mesmo método funciona entre xterms no servidor.

Nota: o argumento -title é ignorado. Mais uma vez, não sei porque.

    
por 20.04.2016 / 08:20