Como obtenho nomes de diferentes saídas disponíveis no sistema via ssh?

2

Se eu executar xrandr a partir de um terminal na sessão X, posso ver os nomes das diferentes saídas disponíveis no sistema. Por exemplo, eu recebo algo assim:

Screen 0: minimum 320 x 200, current 1440 x 900, maximum 8192 x 8192
VGA disconnected (normal left inverted right x axis y axis)
LVDS connected (normal left inverted right x axis y axis)
    1440x900       59.9*+
    1280x854       59.9  
    1280x800       59.8  

Isso é ótimo, mas só funciona se eu estiver na sessão X fisicamente na frente do computador ou via Remote Desktop (VNC). Como posso obter esses mesmos nomes remotamente via SSH? Bes Mulher Mulher Mulher Mulher Mulher32BBB Mulhereses32B Mulher32es Mulher Mulher MulherBB MulheresesB Mulheres32B Mulheres MulherBBBes Mulher Mulher MulherBB Mulheres Mulher MulherBesesBB MulheresesB Mulheres32BB Mulhereses32B Mulher Mulher Mulher MulherBBes MulherBB Mulheres MulherBB MulheresesB Mulheres MulherBesesesBB Mulheres Mulher MulherBB32BBB Mulhereses

Com o exemplo acima, o que eu gostaria de obter do SSH são os valores "VGA" e "LVDS".

    
por user195574 24.09.2013 / 04:11

2 respostas

1

Eu já falei sobre como listar exibições em uma vida anterior, que deve permitir que você faça uma iteração de cada display X e mostre as saídas disponíveis

w -hs | awk '{print }' | sort -u | xargs -I% xrandr -display %

Eu não tenho idéia se você precisa fazer uma apresentação em loop, mas isso deve funcionar mesmo assim.

    
por Oli 24.09.2013 / 04:25
1

Se você se conectar através do ssh, você pode muito bem não ter uma sessão X em execução. Mesmo se você tiver, a sessão ssh não está conectada a nenhuma delas por padrão ... você pode até mesmo fazer o login via ssh para um usuário diferente daquele que tem a sessão X aberta.

Então, por exemplo, se eu ssh para minha máquina remota eu tenho:

(0)pern:~% xrandr --current
Can't open display 

Portanto, tenho que descobrir se uma sessão X está sendo executada e quem está conectado:

(0)pern:~% w
 01:57:06 up 10 days,  9:56,  4 users,  load average: 0.12, 0.17, 0.13
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
romano   tty7     :0               08Nov13 10days  1:29m  6.95s gnome-session -
romano   pts/2    :0               08Nov13 10days 23.67s 23.67s /home/romano/bi
romano   pts/0    xxx.xx.xxx.xxx   01:56    2.00s  0.08s  0.00s w
romano   pts/3    :0               08Nov13  6:48m  0.08s  0.08s zsh

Hmmm ... vamos ver a capacidade de exibição: 0, dado que estou logado como o mesmo usuário e por isso tenho as permissões:

(1)pern:~% xrandr --current -display  :0
Screen 0: minimum 320 x 200, current 1680 x 1050, maximum 8192 x 8192
DIN disconnected (normal left inverted right x axis y axis)
DVI-0 connected 1680x1050+0+0 (normal left inverted right x axis y axis) 430mm x 270mm
   1680x1050      59.9*+
   1600x1200      60.0  
   1280x1024      75.0     60.0  
   1024x768       75.1     72.0     70.1     60.0  
   832x624        74.6  
   800x600        72.2     75.0     60.3     56.2  
   640x480        72.8     75.0     66.7     60.0  
   720x400        70.1  

Observe que tudo isso funcionará se o usuário na sessão não gráfica tiver direitos suficientes para o servidor. Basicamente, ele precisa ser o mesmo usuário que iniciou o servidor X (e, às vezes, faz com .Xauthority , nem mesmo nesse caso); Para que ele funcione a qualquer momento, você deve fazer xhost + no servidor (mas isso tem grandes riscos de segurança).

    
por Rmano 19.11.2013 / 02:02