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:
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?