Noob aqui: Eu tenho um problema, quando eu acesso meu servidor via SSH, o $ PATH está correto
root@ks391320:~# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
Mas quando abro meu servidor via sessão XRDP e vou para o terminal, ele mostra um PATH incorreto :
root@ks391320:~# echo $PATH
/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin
E isso cria um problema, porque quando tento instalar algo usando o "Instalador de Pacotes", ele mostra esse erro (entre outros)
dpkg: warning: 'ldconfig' not found in PATH
command-line
gui
paths
Ivan Castellanos
fonte
fonte
/etc/environment
!1
O caminho padrão de todo o sistema é definida em
/etc/environment
. Primeiro, verifique se está definido como um valor sensato. Para referência, aqui está o meu, que é o mesmo que uma instalação padrão:2
Se
/etc/environment
estiver correto e você ainda estiver tendo problemas, poderá substituir o PATH padrão~/.bashrc
. Por exemplo, eu tenho isso no meu .bashrc que anexa um diretório ao meu PATH se, e somente se, ele existir e ainda não estiver no meu PATH:Como na sua captura de tela parece que você ativou os logins raiz, defina também o .bashrc da raiz. (A propósito, como o root não pode efetuar login por padrão no Ubuntu, essa configuração é presumivelmente menos testada e pode estar relacionada ao seu problema.)
3
Se os dois primeiros métodos falharem, verifique se o seu cliente XRDP está fazendo algo exótico. Nesse caso, você precisará configurá-lo para funcionar normalmente ou identificar uma maneira de contornar isso.
Atualizar
Eu tenho olhado em volta do sistema. Você pode encontrar todos os locais em seu sistema que especificam um PATH com o seguinte comando (
sudo
existe porque alguns arquivos em/etc
são ilegíveis por usuários normais):Eu acho que é seguro ignorar muitos desses lugares, resultando no seguinte comando:
Um arquivo que parece possível (embora eu realmente não saiba muito sobre isso) é
/etc/login.defs
. Você pode dar uma olhada nisso.Além disso, você também pode receber seus arquivos de ponto:
fonte
gksudo gdebi-gtk /full/path/to/package.deb
? Eu achei um pouco exigente. Nesse caso, deve herdar o ambiente do qual foi lançado.Divulgação completa: Eu não uso o Ubuntu ... mas tive o mesmo problema com o Debian.
O xrdp lança o /etc/xrdp/startwm.sh (a menos que o Ubuntu tenha modificado este local). Eu adicionei esta linha:
no topo do /etc/xrdp/startwm.sh e o PATH está agora definido corretamente.
Para o Ubuntu, adicionando
no topo do /etc/xrdp/startwm.sh pode fazer o mesmo.
fonte
Isso me surpreendeu por um tempo também.
/etc/environment
não é um script de shell, então você não pode chamá-lo como um. O que funcionou para mim foi editar o script "sesman" do xrdp session manager no pam. Eu adicionei a linha "session" ao meu/etc/pam.d/sesman
arquivo:Isso faz com que o gerenciador de sessões carregue o
/etc/environment
arquivo no login.fonte
Em teoria, adicionando
iria funcionar, mas não. Acabei de colocá-lo no topo do meu .bashrc para corrigir o problema
fonte
Graças às respostas anteriores, cheguei a essa solução:
Pode não ser o mais ideal, mas está funcionando (Ubuntu 12.04).
fonte
@ John: Eu acredito que você precisa verificar o seu /etc/xrdpstartwm.sh - as primeiras linhas nas minhas dizem:
Isso significa que, se o / etc / X11xinit / xinitrc existir, esse arquivo será executado - e não ajudará muito em adicionar o arquivo
para /etc/xrdpstartwm.sh. :-)
/ Per Hertz
fonte