Alt + F2 (executar aplicativo) não funciona para comandos personalizados

10

Para acelerar o desenvolvimento do Android, eu editei meu ~/.bashrc para adicionar alguns caminhos a PATH :

export PATH=${PATH}:/opt/android-sdk/tools:/opt/android-sdk/platform-tools

Isso funciona bem na linha de comando (eu posso digitar android e, não importa onde eu esteja, o Android SDK e o AVD Manager serão iniciados bem.

No entanto, se eu tentar digitar android no diálogo Alt + F2 (Executar aplicativo), ocorrerá o seguinte erro:

  

Não foi possível abrir o local 'file: /// home / felix / android'

     

Erro ao declarar o arquivo '/ home / felix / android': nenhum arquivo ou diretório desse tipo

Por que isso? Qual PATH o diálogo Executar Aplicativo usa?

    
por Felix 04.01.2011 / 10:20

3 respostas

9

Eu assumo que o bashrc não é lido pelo Gnome, e por que deveria, já que é um arquivo de configuração para bash .

Eu defino meu caminho em ~/.profile . Este arquivo é definitivamente lido pelos ambientes Gnome e XFCE e também por outros. (Mas é somente leitura no login, então você tem que sair e voltar em qualquer alteração para entrar em vigor!)

    
por Carsten Thiel 04.01.2011 / 10:44
1

~/.bashrc é incluído por ~/.profile por padrão. O diretório ~/bin é adicionado a PATH por padrão também. Crie o diretório ~/bin e adicione sym-links ( ln -s ) aos aplicativos que você pretende usar ou modifique seu ~/.bashrc .

O conteúdo padrão dos arquivos mencionados pode ser encontrado em /etc/skel - usado ao criar uma nova conta e seus diretórios iniciais.

    
por Raphael Bossek 04.01.2011 / 11:16
0

Eu tive o mesmo problema com o Linux Mint (Canela 2.8.8), e não consegui fazer com que ele funcionasse com as correções comuns (usando .profile , alterando Xsession shebang para /bin/sh -l ).

O problema é que /bin/sh , que geralmente é um link simbólico para /bin/dash~/.profile se for um shell de login (ou seja, dada a opção -l ).

Você pode verificar isso com strace:

$ strace -e open dash
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
open("/dev/tty", O_RDWR)                = 3
$ ^D
+++ exited with 0 +++
$ strace -e open dash -l
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
open("/dev/tty", O_RDWR)                = 3
open("/etc/profile", O_RDONLY)          = 3
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=12260, si_status=0, si_utime=0, si_stime=0} ---
open("/etc/profile.d/Z97-byobu.sh", O_RDONLY) = 3
open("/etc/profile.d/bash_completion.sh", O_RDONLY) = 3
open("/etc/profile.d/vte.sh", O_RDONLY) = 3
open("/home/elias/.profile", O_RDONLY)  = 3
$ ^D
+++ exited with 0 +++

Eu não consegui descobrir qual script alterar (tentei um monte deles em / etc / X11 e / etc / mdm), mas sem sorte.

Então eu joguei a toalha e mudei /bin/sh para apontar para /bin/bash em vez de /bin/dash e está funcionando agora. :)

    
por elias 12.07.2016 / 16:23

Tags