Noob ici: j'ai un problème, quand j'accède à mon serveur via SSH, le $ PATH est correct
root@ks391320:~# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
Mais lorsque j'ouvre mon serveur via une session XRDP et que je vais sur le terminal, il montre un CHEMIN incorrect :
root@ks391320:~# echo $PATH
/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin
Et cela crée un problème car lorsque j'essaie d'installer quelque chose à l'aide du "Package Installer", il montre cette erreur (entre autres)
dpkg: warning: 'ldconfig' not found in PATH
command-line
gui
paths
Ivan Castellanos
la source
la source
/etc/environment
!1
Le PATH par défaut à l'échelle du système est défini dans
/etc/environment
. Tout d'abord, vérifiez qu'il est défini sur une valeur saine. Pour référence, voici le mien, qui est le même qu'une installation par défaut:2
Si
/etc/environment
est sain d'esprit et que vous rencontrez toujours des problèmes, vous pouvez remplacer le chemin par défaut dans~/.bashrc
. Par exemple, j'ai ceci dans mon .bashrc qui ajoute un répertoire à mon PATH si et seulement s'il existe et n'est pas déjà dans mon PATH:Comme il apparaît sur votre capture d'écran que vous avez activé les connexions root, assurez-vous également de définir le .bashrc de root. (Soit dit en passant, puisque root ne peut pas se connecter par défaut dans Ubuntu, cette configuration est probablement moins testée et pourrait éventuellement être liée à votre problème.)
3
Si les deux premières méthodes échouent, vérifiez si votre client XRDP fait quelque chose d'exotique. Si c'est le cas, vous devrez soit le configurer pour qu'il fonctionne normalement, soit identifier un moyen de le contourner.
Mise à jour
J'ai fait quelques recherches sur le système. Vous pouvez trouver tous les endroits sur votre système qui spécifient un CHEMIN avec la commande suivante (le
sudo
est là parce que certains fichiers sous/etc
sont illisibles par les utilisateurs normaux):Je pense qu'il est sûr d'ignorer bon nombre de ces endroits, ce qui entraîne la commande suivante:
Un fichier qui semble possible (bien que je n'en sache vraiment pas trop) est
/etc/login.defs
. Vous pourriez y jeter un œil.De plus, vous pouvez également récupérer vos fichiers dot:
la source
gksudo gdebi-gtk /full/path/to/package.deb
? Je l'ai trouvé un peu difficile. Si c'est le cas, il devrait hériter de l'environnement à partir duquel il a été lancé.Divulgation complète: je n'utilise pas Ubuntu ... mais j'ai eu le même problème avec Debian.
xrdp lance /etc/xrdp/startwm.sh (sauf si Ubuntu a modifié cet emplacement). J'ai ajouté cette ligne:
en haut de /etc/xrdp/startwm.sh et le PATH est maintenant correctement défini.
Pour Ubuntu, ajout
en haut de /etc/xrdp/startwm.sh pourrait faire de même.
la source
Cela m'a aussi dérouté pendant un moment.
/etc/environment
n'est pas un script shell, vous ne pouvez donc pas l'appeler comme tel. Ce qui a fonctionné pour moi, c'était d'éditer le script "sesman" du gestionnaire de sessions xrdp dans pam. J'ai ajouté la ligne "session" à mon/etc/pam.d/sesman
fichier:Cela oblige le gestionnaire de sessions à charger le
/etc/environment
fichier à la connexion.la source
En théorie, l'ajout
fonctionnerait mais il ne fonctionne pas. Je viens de le mettre en haut de mon .bashrc pour corriger le problème
la source
Grâce aux réponses précédentes, je suis parvenu à une telle solution:
Ce n'est peut-être pas le plus optimal mais il fonctionne (Ubuntu 12.04).
la source
@ John: Je crois que vous devez vérifier votre /etc/xrdpstartwm.sh - les premières lignes du mien se lisent,
Cela signifie que si / etc / X11xinit / xinitrc existe, ce fichier sera exécuté à la place - et cela n'aidera pas beaucoup à ajouter le
à /etc/xrdpstartwm.sh. :-)
/ Per Hertz
la source