Question Le profil de gnome-terminal n'est pas correctement chargé par le démarrage de la ligne de commande


J'essaie de démarrer un gnome-terminal en ligne de commande. La ligne de commande est "gnome-terminal -e "sh /home/vm/tmp/tmp.sh" --title="tmp test" --tab-with-profile=/home/vm/.bashrc --working-directory=/home/vm/tmp"Cependant, il existe une information d'erreur que l'environnement Java n'est pas définie.

Si je lance un gnome-terminal par /usr/share/applications/gnome-terminal.desktop, il n'y a pas cette information d'erreur.

Donc, je pense que le profil de gnome-terminal n'est pas correctement chargé au démarrage de la ligne de commande.

Que devrais-je faire?

Le contenu de tmp.sh est

#!bin/bash;cd /home/vm/tmp/kitchen;./menu

Modfed sh pour bash ne pas résoudre java environnement n'est pas défini. Ajouté ou supprimé --tab-with-profile='Default', ne résout pas java L'environnement n'est pas défini.

Si je lance un gnome-terminal par /usr/share/applications/gnome-terminal.desktop, courir sh ou bash /home/vm/tmp/tmp.sh Est normal.

Je veux exécuter le résultat par ligne de commande comme par /usr/share/applications/gnome-terminal.desktop


1
2017-11-16 13:39


origine




Réponses:


Qu'est-ce que vous essayez de faire exactement?

AFAIK le --tab-with-profile est de choisir un prédéfini Terminal profil (c'est-à-dire l'un des ensembles de paramètres de configuration d'application de ls ~/.gconf/apps/gnome-terminal/profiles/). Ceci est utilisé pour définir des choses comme la police du terminal et les préférences de couleur, etc. - rien à voir avec le coquille profil ou fichier de ressource.

Si vous voulez exécuter un script bash, pourquoi l'appelez-vous avec sh? Soit juste faire /home/vm/tmp/tmp.sh exécutable avec un #!/bin/bash shebang au sommet, ou l'exécuter via bash ne pas sh - De cette façon, il devrait vous fournir votre .bashrc fichier par défaut.

Si vous devez utiliser un fichier bashrc autre que celui par défaut, vous pouvez le définir avec un --rcfile argument de la commande bash elle-même

gnome-terminal -e "bash --rcfile fichier alternatif /home/vm/tmp/tmp.sh"


1
2017-11-16 14:08



THX.I essaiera de modifier "sh /home/vm/tmp/tmp.sh" en "bash /home/vm/tmp/tmp.sh" - fluss
Le contenu de tmp.sh est "#! Bin / bash; cd /home/vm/tmp/kitchen;./menu". - fluss
Comme @Braiam l'a fait remarquer, le profil par défaut de gnome-terminal devrait de toute façon exécuter votre commande dans un shell bash. gnome-terminal -e "/home/vm/tmp/tmp.sh" - steeldriver
Si ignorer bash ou sh en ligne de commande, le droit d'accès sera affiché. - fluss
Si je lance un gnome-terminal avec /usr/share/applications/gnome-terminal.desktop,running sh ou bash /home/vm/tmp/tmp.sh est normal - fluss


--tab-with-profile devrait être utilisé avec le nom du profil, pas un chemin de fichier:

--tab-with-profile=PROFILENAME
  Ouvrez un onglet dans la fenêtre avec le profil donné. Plus que                    l'une de ces options peut être fournie pour ouvrir plusieurs onglets.

Par conséquent, vous devez utiliser le nom du profil dans la fenêtre Profils. Dans ce cas, je n'ai que le profil par défaut:

"gnome-terminal -e "sh /home/vm/tmp/tmp.sh" --title="tmp test" --tab-with-profile='Default' --working-directory=/home/vm/tmp"

gnome-terminal charge automatiquement le .bashrc fichier sans être demandé (sauf si vous utilisez un autre shell), il n'est donc pas nécessaire de le source manuellement. Vous pouvez également utiliser le .profile.


0
2017-11-16 14:00



THX.J'ai eu selon votre suggestion modifié la ligne de commande.Mais, le problème est là.Le contenu de tmp.sh est "#! Bin / bash; cd /home/vm/tmp/kitchen;./menu" - fluss
Déjà selon votre suggestion, ajout d'informations - fluss