Como criar e fixar o atalho Unity a um comando / script específico

9

Esta não é uma duplicata, já que passei um bom tempo tentando encontrar uma solução de Ask Ubuntu e Googling, sem sucesso. É um problema específico depois de fixar com sucesso o atalho ao Unity.

O comando que estou tentando definir é:

rdesktop -u user -d DOMAIN -g 1380x849 -r sound:local -p password -x 0x80 -P -a 32 -k fi 192.168.1.103

Tudo bem, então as coisas que eu tentei são:

  1. Crie manualmente o rdesk.desktop que usaria o aplicativo rdesktop com alguns parâmetros de comando para conectar-se a uma máquina remota e fazer o login automaticamente. Eu posso arrastar com êxito este lançador para o Unity.

  2. Crie um lançador através do utilitário Menu Principal, pressionando o ícone do Ubuntu e iniciando a sessão a partir daí, fixando o ícone real do rdesktop que aparece no lançamento.

Ambos os métodos funcionam parcialmente. Eu posso pegar um atalho agradável com o ícone da minha escolha na barra de tarefas com (1), mas ao clicar neste atalho um segundo ícone (rdesktop real) aparece na parte inferior da barra Unity. Fixar este segundo ícone funciona, mas, na verdade, ele não faz nada depois de ter clicado depois de encerrar a sessão. O ícone fixo do método (2) age exatamente da mesma maneira.

Ao passar o mouse, o segundo ícone me mostra: rdesktop - 192.168.1.103

Como posso criar um atalho para o comando rdesktop com parâmetros e fixá-lo no Unity, de modo que o ícone que clico fica realçado e responde aos cliques mesmo depois de fechar a sessão? Alternativamente, eu acho que eu poderia de alguma forma editar o segundo ícone fixo para trabalhar com os parâmetros corretos para que o rdesktop realmente fosse aberto, eu simplesmente não conseguia encontrá-lo em nenhum lugar no sistema de arquivos para dar uma olhada.

Edit: aqui está a minha entrada no .desktop que eu arrastei para o Unity

[Desktop Entry]
Name=Remotedesktop Client
Comment=Connect to a remote Windows Terminal-Server
Exec=rdesktop -u name -d DOMAIN -g 1380x849 -r sound:local -p password -x 0x80 -P -a 32 -k fi 192.168.1.103
Icon=/usr/share/icons/hicolor/scalable/apps/nm-device-wired.svg
Terminal=false
Hidden=false
Type=Application
Version=1.0
Encoding=UTF-8

Aqui está uma captura de tela para esclarecimento:

O preto superior destacado é meu .Desktop, e o inferior é o que eu recebo quando clico nele. A parte superior, na verdade, funcionará apenas uma vez, e se eu a soltar e a redigir para Unity, ela funcionará novamente, uma vez.

    
por red 22.02.2012 / 14:47

1 resposta

11

Você precisa configurar o WMClass para o rdesktop no seu arquivo .desktop. Este aqui funciona para mim:

[Desktop Entry]
Version=1.0
Type=Application
Name=Gacela
Exec=rdesktop #####:####
Icon=/usr/share/icons/gacela.png
Comment=Conexion co Gacela
Categories=Internet;
Terminal=false
StartupNotify=true
StartupWMClass=rdesktop
GenericName=

Para obter o WMClass de qualquer janela em execução, você precisa usar este comando:

xprop

e clique na janela que você deseja identificar. Procure o valor de WM_CLASS na saída, ou grep se você preferir uma saída menor:

xprop | grep WM_CLASS
    
por Javier Rivera 22.02.2012 / 15:33