shell script para retornar o nome do desktop kde

4

Eu defini os nomes dos meus desktops do KDE para os da minha estação de trabalho e dos servidores de computação locais. Eu quero encontrar uma maneira tal que quando eu abrir um shell na área de trabalho nomeada em particular, ele irá abrir o shell na máquina correspondente.

Exemplo, aqui está uma lista dos meus nomes de desktop do KDE:

  • MyWs
  • Cs1
  • Cs2

Quando eu abro um shell enquanto estou na janela "Cs1", quero que ele abra uma sessão SSH em "Cs1" em vez da máquina atual da qual estou trabalhando.

Eu acho que posso fazer isso se eu puder recuperar o nome da área de trabalho do KDE que estou abrindo um terminal do (konsole) e usá-lo para chamar meu script SSH de login remoto.

Por meio da minha pesquisa no Google, descobri como encontrar o número da janela que estou usando ( xprop -root | egrep '^_NET_CURRENT_DESKTOP' ), mas não consigo encontrar nada que me diga como recuperar o nome do janela. Eu tentei o "qdbus" e "qdop" (incluindo o kdcop gráfico) e ainda não consigo encontrar nada me dando o nome atual da área de trabalho.

Agora, deixe-me também começar dizendo que estamos usando uma versão antiga do RH5 (RedHatEnterpriseClient 5.6) e não rodando o mais recente e melhor KDE (KDE 3.54.el5_4.1).

Editar : um comentário perguntou o que xprop -root | egrep '^_NET_DESKTOP_NAMES' mostra. Eu tentei isso antes de postar minha pergunta, mas recebi o seguinte e não sei o que fazer com o resultado:

_NET_DESKTOP_NAMES(UTF8_STRING) = 0x41, 0x55, 0x4c, 0x57, 0x53, 0x30, 0x38, 0x34, 0x0, 0x41, 0x55, 0x4c, 0x43, 0x53, 0x32, 0x31, 0x31, 0x0, 0x41, 0x55, 0x4c, 0x43, 0x53, 0x32, 0x31, 0x32, 0x0, 0x41, 0x55, 0x4c, 0x43, 0x53, 0x32, 0x31, 0x33, 0x0, 0x41, 0x55, 0x4c, 0x43, 0x53, 0x32, 0x31, 0x34, 0x0'

Executando dcop kwin KWinInterface currentDesktop retornando 1

Por fim, logo após enviar minha pergunta, encontrei outro post neste site e o uso de wmctrl -d . Eu decidi dar uma chance. Descobri que não tínhamos wmctrl instalado em nosso sistema e, por isso, baixei e compilei wmctrl . wmctrl -d retorna todas as informações de que preciso, exceto o problema de extrair as informações obtidas do comando wmctrl -d .

Não há uma maneira mais fácil, usando dcop ou algo assim?

    
por David Lovelace 13.09.2013 / 15:46

1 resposta

0

wmctrl

Você pode obter os nomes de seus espaços de trabalho / janelas usando este comando:

$ wmctrl -d
0  * DG: 5760x900  VP: 0,0  WA: 0,25 1440x826  Workspace 1
1  - DG: 5760x900  VP: 0,0  WA: 0,25 1440x826  
2  - DG: 5760x900  VP: 0,0  WA: 0,25 1440x826  N/A
3  - DG: 5760x900  VP: 0,0  WA: 0,25 1440x826  N/A

Você também pode alternar para outra janela usando este comando:

$ wmctrl -s <workspace_name>
    
por 14.09.2013 / 04:11

Tags