Recentemente, fiz esta pergunta sobre como adicionar um script de shell ao Dash:
Na 14.04, como executo um script bash que escrevi sem abrir um terminal?
Funcionou perfeitamente.
Pergunta de acompanhamento: Como transmitir argumentos da linha de comando através do Dash? Exemplo: Nesse caso, meu comando dash é chamado "Painel". O script apainela minha tela com 8 terminais. Aqui está um exemplo do uso:
panel # Tile the screen with 8 terminal windows.
panel --left # Tile the left side with 4 terminals
panel --right # Tile the right side with 4 terminals
E assim por diante. Como posso passar argumentos como --left
ou --right
através do Dash? Idealmente, eu gostaria de ter este fluxo de trabalho:
- Pressione a tecla SUPER
- Digite
panel --left
(por exemplo) - Dash desaparece e o lado esquerdo é revestido com painéis.
No momento, ele executa o script certo, mas ignora --left
.
Dicas?
scripts
unity-dash
Sir Robert
fonte
fonte
Respostas:
O problema é que você não pode "executar" um
.desktop
arquivo do Dash com argumentos, portanto, a configuração exatamente como você tem em mente é impossível. No entanto, supondo que seu script aceite argumentos, existem algumas opções alternativas elegantes, talvez até melhores:Salve seu script em
~/bin
execute pressionando AltF2, digite o comando
Crie uma lista rápida no iniciador do Unity:
(supondo que você salvou o script
~/bin
, o tornou executável e removeu a extensão como em 1.)Salve-o como
panel.desktop
em~/.local/share/applications
e arraste-o para o iniciador.Crie três atalhos de teclado diferentes, por exemplo Alt+ <, Alt+ ^, Alt+ >para executar seu script + argumentos:
"Configurações do sistema"> "Teclado"> "Atalhos"> "Atalhos personalizados"
Clique em "+" para adicionar seus comandos:
<scriptname> <argument>
Não é a mais óbvia, mas, explorando as opções, deve-se mencionar: você pode chamar uma lista de opções (zenity) no Dash:
Digite o primeiro caractere de sua opção, pressione return e seu script será executado com o argumento escolhido.
Novamente, assumindo que você salvou o script em ~ / bin, o tornou executável e removeu a extensão do idioma como em 1 .:
Copie o script abaixo em um arquivo vazio, salve-o como
panel_options.sh
, torne-o executável.Crie o arquivo .desktop a partir do código abaixo. Na
Icon=
linha, defina o caminho para o seu ícone, naExec=
linha o caminho parapane_options.sh
, salve-o comopanel.desktop
em~/.local/share/applicatios
fonte
Na sua pergunta original, parece que a coisa certa a fazer seria mover o script para
~/bin/
, que deve estar no seu$PATH
por padrão.Se você fizer isso, poderá executar seu script usando AltF2novamente. Você também poderá passar argumentos para ele como em um shell.
Você também pode adicionar qualquer outra pasta onde mantenha seus scripts no seu
$PATH
. Para fazer isso, abra~/.profile
no editor de texto de sua escolha:No final, adicione uma linha (substituindo
<folder>
pela sua pasta) e salve o arquivo:Por exemplo, eu adiciono
$HOME/.bin
ao meu$PATH
para que meus binários não bagunçam minha pasta pessoal, mas você pode adicionar qualquer diretório ao seu caminho, mas não adicione nada perigoso (por exemplo, gravável no mundo).As alterações entrarão em vigor no próximo login.
fonte