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.

War es hilfreich?

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.

Eigentlich

, 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.

  1. 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 Sie gnome-terminal --working-directory=/some/other/folder explizit ausgeführt wird es noch offen ~/myfolder. Es scheint, dass die Ansatz mit .bashrc ist unbrauchbar.

  2. 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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top