wmctrl para uma exibição remota

wmctrl para uma exibição remota

Se eu quiser usar o wmctrl para outro monitor, qual é a linha de comando para fazer isso?

Algo como: su nome de usuário -c "DISPLAY:50 wmtrl -r:ACTIVE: -b toggle,fullscreen" não funcionou

Obrigado - estou executando o Ubuntu 12.04

Responder1

Existem vários motivos pelos quais o comando acima não funciona.

  1. Deveria ser wmctrl, não wmtrl.

  2. Deveria ser

           su -c command username
    

    em vez desu username-c command

  3. Pode havernãoser uma janela ativa na sessão do outro usuário.

  4. Mas o mais importante sué que foi projetado para alternar o usuário da janela de texto atual dentro de uma GUI, e não de qualquer outra janela. Por exemplo, oseu manualafirma:

... quando su é usado em uma janela de terminal (ou seja, uma janela somente texto em uma GUI), apenas aquela janela de terminal e os programas iniciados a partir dela são executados com a conta do novo usuário (por exemplo, root), .. .

A maneira correta de realizar algo parecido com o que você tem em mente é conversar com o servidor X do outro usuário, algo contra o qual, entretanto, todas as sessões X estão bem equipadas. Por exemplo, se você estiver conectado sshem uma máquina remota como usuário A, B deverá permitir que você faça isso por meio de

     xhost +

e então você pode acessar sua sessão X por meio de

    export DISPLAY=:0.0 

e agora seu comando,

     wmctrl -r :ACTIVE: -b toggle,fullscreen

vai funcionar.

Se tudo o que você deseja é compartilhar um terminal com outro usuário, para que ele possa ver o que você está digitando, então você deve instalar screen, iniciar uma sessão com screen, pressionar a sequência de escape Ctrl+A, depois dar os dois comandos multiuser one acladd B. Agora o usuário B pode ingressar na sua sessão de tela por meio de screen -x A/.

Por último, sua pergunta parece estar relacionada a um multi seat arrangementarquivo .Eles são extremamente raros e não tenho nenhum para testar a solução. Você está realmente em uma dessas situações? Nesse caso, provavelmente valeria a pena especificá-lo no título do seu OP, pois isso requer o conhecimento de uma configuração não tão frequente.

Mas em qualquer caso,provavelmente(= não tenho um arranjo multiassento para testar isso), você pode conseguir isso pelo mesmo método da sshconexão, exceto que neste caso o usuário B deve emitir o comando:

     xhost +SI:localuser:A

concedendo a você acesso ao display dele.

informação relacionada