Gnome-Terminal, wie in einem anderen Verzeichnis starten?
Frage
Jedes Mal, wenn ich meine Konsole gnome-terminal
in Ubuntu starten, startet es im Home-Verzeichnis. Wie kann ich es mache in einem anderen Verzeichnis ~/myfolder
sagen beginnen?
Ich habe versucht, cd ~/myfolder
in ~/.profile
zu schreiben, aber es passiert nichts.
Lösung
Wenn Sie gnome-terminal wie Start "gnome-terminal --working-directory = myfolder" wird es mit dem Arbeitsverzeichnis unter ~ / myfolder starten. so könnten Sie einen neuen Eintrag zu Ihrem Menü hinzufügen, um anstelle des anderen diesen Befehl zu verwenden.
Andere Tipps
Fügen Sie Folgendes zu Ihrer ~ / .bashrc
cd ~ / myfolder
Ich habe diese Art und Weise - mit Skript: offen 3 tabs in 170x40 gleicher Fenstergröße, das jeweils „Tab“ in anderem Verzeichnis starten.
gnome-terminal --geometry = 170x40 --working-directory = myfolder1 \
- Registerkarte --working-directory = myfolder2 \
- Registerkarte --working-directory = myfolder3
könnten Sie die nautilus- open-terminal Erweiterung. So können Sie auf einen Ordner in nautilus rechten Maustaste und ein Terminal-Fenster öffnen mit diesem Verzeichnis als Arbeitsverzeichnis.
Sie können auch einen Terminal in der normalen Art und Weise, geben Sie „cd“, ausführen und ein Ordnersymbol von nautilus zum Fenster ziehen. Dadurch wird der Pfad des Ordners in die Befehlszeile einfügen und Sie dann Rückkehr geben Sie in das Verzeichnis zu ändern. Sie können die gleiche Sache mit regulären Dateien tun, um ihren Weg und führen Befehle auf sich einfügen.
GNOME-Terminal - Erste gestartet :
Sie können auch einen Befehl angeben, die automatisch ausgeführt wird, wenn Sie GNOME-Terminal im Profil starten.
, das ist, wie ich es ausschalten für alle standardmäßig aktiviert.
gconftool-2 --direct \
--config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory/ \
--set -- type=bool /apps/nautilus-open-terminal/desktop_opens_home_dir true
Wenn der Ordner einen komplizierten Weg hat, also nicht nur ~/myfolder
, könnten Sie einen symbolischen Link, um es in Ihrem Home-Verzeichnis, damit Sie sie schnell bekommen können. Sie können auch die CDPATH
Umgebungsvariable bash zu sagen, eine Liste von Verzeichnissen zu suchen, wenn Sie cd myfolder
eingeben.
Verzeichnis Option
Es gibt die Option --working-directory
das Startverzeichnis des Terminals (keine Kurzform der Option) angeben.
Der grundlegende Ansatz des Terminals in /some/dir
zu öffnen, ist
gnome-terminal --working-directory=/some/dir
, aber es ist eine Falle ...
Bad trap
Unter der Annahme, wir das Terminal in dem Verzeichnis ~/dir
beginnen sollen.
Das funktioniert nicht:
gnome-terminal --working-directory=~/dir
Der Befehl sieht völlig in Ordnung, nach der Option Syntax, aber das Terminal beginnt im Home-Verzeichnis.
Es ist, weil es nicht die Tilde (~
), für verwirrend Gründe nicht erweitern - siehe unten.
Thesse funktionieren:
gnome-terminal --working-directory=/home/auser/dir
gnome-terminal --working-directory=$HOME/dir
gnome-terminal --working-directory ~/dir
Tilde Erweiterung
Hinweis gibt es keinen =
in der letzten Variante. Aus diesem Grund wird die ~
zu Beginn eines Shell-Wort, und daher durch Tilde-Erweiterung handeled wird.
Das Problem ist, dass ~
nicht überall erweitert wird, aber nur in bestimmten Orten. Einer von ihnen ist in Variablenzuweisungen, wie directory=~/dir
. Das ist in Ordnung, ~
wird erweitert, um $HOME
, aber --working-directory=~/dir
dehnt nicht ~
, denn das ist nicht eine variable Zuordnung ist, sieht es nur sehr ähnlich.
Um in meinem gewünschten Verzeichnis als Root-Benutzer zu öffnen Ich lief:
gnome-terminal --working-directory=/home/my-project/ -x bash -c "sudo su"
Ich bin beeindruckt von Neils Mayhew Kommentar und Volker Siegel Antwort . Ich habe nicht nur festgelegt Standardverzeichnis versucht, gnome-terminal , aber gewöhnliches Verhalten der Desktop-Umgebung bewahren als auch (ich verwende Linux Mint 17,1 Cinnamon , GNOME-Terminal 3.6.2 , vielleicht kann es auch für andere Gnome-congenered DGs angewendet werden). Also lassen Sie mich in meinen zwei Cent setzen.
-
Das Hinzufügen
cd ~/myfolder
ganz am Ende des~/.bashrc
macht die Arbeit. Aber wie bereits erwähnt, wird es jeden betreffen interaktiv Shell. Sogar noch mehr, wenn Sie öffnen ein Verzeichnis in einem Dateimanager ( Nemo oder Nautilus oder so ähnlich diese) und appellieren an das Kontextmenü von dort (zum Beispiel der rechten Maustaste und wählen Sie dann Öffnen Sie im Terminal ) neue Instanz gnome-terminal wird unabhängig von dem Ordner, in~/myfolder
gestartet werden, die in dem Datei-Manager geladen wurden. Auch wenn Siegnome-terminal --working-directory=/some/other/folder
explizit ausgeführt wird es noch offen~/myfolder
. Es scheint, dass die Ansatz mit.bashrc
ist unbrauchbar. -
gnome-terminal --working-directory=myfolder
funktioniert gut, aber nur, wenn Sie benutzerdefinierten Menüeintrag in Sie DE (Oder benutzerdefinierte Verknüpfung auf dem Desktop), die mit diesem Parameter Terminal läuft. Wenn Sie möchten, laufen gnome-terminal von der Kommandozeile oder von Mini-Launcher (drücken Sie Alt + F2 ), Sie haben jedes Mal, wenn die Parameter einzugeben. Auf jeden Fall ist dieser Ansatz mehr oder weniger verwendet werden.
Wie gnome-terminal legt fest, welche Ordner zu öffnen? Wenn --working-directory
nicht angegeben ist es öffnet Strom
Arbeitsverzeichnis (z $PWD
), ansonsten öffnet Verzeichnis explizit angegeben.
Ich habe die folgende Lösung gefunden.
Erstellen Sie eine Datei gnome-terminal
in Ihrem ~/bin
Ordner mit dem Namen. Es wird als Abkürzung handeln, sondern von überall (Startmenü,
Mini-Launcher, andere Terminal Instanz usw.), weil ~/bin
bereits in $PATH
ist (zumindest in Linux Mint ...). Machen Sie diese Datei
ausführbar. setzen Sie den folgenden Inhalt dann in das Skript:
#!/bin/bash
home_directory=~
if [ "$PWD" == "$home_directory" ]; then
# When 'gnome-terminal' was ran from either
# - start menu
# - mini-launcher
# ...
# parent directory is set to $HOME.
#
# We respect original command line arguments.
# For example, when terminal is ran from another
# terminal instance and '--working-directory' is
# specified explicitly we should left it as it is.
# If there are two '--working-directory' switches
# in the command line 'gnome-terminal' will pick up
# the last one.
#
# Also we use full path to executable here in order
# to prevent recursive calling of 'gnome-terminal' from
# '~/bin'.
/usr/bin/gnome-terminal --working-directory=/ "$@"
else
# 'gnome-terminal' was from another directory.
# We don't change anything.
/usr/bin/gnome-terminal "$@"
fi
Wenn Sie laufen gnome-terminal aus dem Startmenü Sie diesen aktuellen Ordner in neuen Terminals wird /
wird (Sie einen beliebigen Ordner verwenden können, beispielsweise ~/myfolder
weil unsere eigene Wrapper ist ein Bash-Skript , so Shell Expansion mit der Arbeit in Ordnung).
Wenn Sie auf ansprechen Open in Terminal- in einem Dateimanager finden Sie aktuelles Verzeichnis in dem neuen Terminal erhalten.
Wenn Sie laufen gnome-terminal mit expliziten --working-directory
Parametern (vielleicht aus bestehenden Terminal-Instanz) neue Terminal-Instanz in dem von Ihnen angegebenen Verzeichnis geöffnet werden.