Linux: Wie wird das Standardverzeichnis der Terminalemulatoren festgelegt?

12

Nach dem Upgrade auf Ubuntu 11.04 starten meine Terminals (gnome-terminal und urxvt) "/"anstelle von"~"

Was kann dieses Verhalten verursachen?

Ich stelle mir vor, dass das Arbeitsverzeichnis von Gnome oder X auf "/"oder so eingestellt ist, aber ich habe keine Ahnung, wo ich mit dem Debuggen beginnen soll.

Ich benutze zsh, config kann enthalten sein.

Joernsn
quelle
Sie könnten versuchen dirs -vherauszufinden, ob der letzte Eintrag in irgendeiner Weise von einem Pushd nach $ HOME stammt. Nur ein Gedanke.
Alain Pannetier

Antworten:

5

Ich gehe davon aus, dass Sie dieses Verhalten sehen, wenn Sie die Begriffe mit benutzerdefinierten Tastaturkürzeln öffnen, während sie im richtigen Verzeichnis beginnen, wenn sie über das Menü oder das Dialogfeld " Anwendung ausführen" geöffnet werden .

Seltsamerweise scheinen Programme, die Sie im Abschnitt Benutzerdefinierte Verknüpfungen des Dialogfelds Gnome- Tastaturkürzel definieren , das Arbeitsverzeichnis der Sitzung nicht zu erben. Da ich nichts über die Gründe weiß, vermute ich, dass dies ein Fehler ist.

Problemumgehungen:

  • Verwenden Sie die Verknüpfung Terminal ausführen im Abschnitt Desktop und legen Sie Ihren bevorzugten Terminalemulator unter System => Einstellungen => Bevorzugte Anwendungen => System => Terminalemulator fest .

  • Stellen Sie die Tastenkombination auf ein Wrapper-Skript ein, z

    #!/bin/sh
    exec rxvt -cd $HOME
    
  • Definieren Sie die Verknüpfung zum Festlegen des Arbeitsverzeichnisses, z.

    gnome-terminal --working-directory=$HOME
    

    oder

    rxvt -cd /path/to/home
    

    (Letzteres funktioniert bei $HOMEmir nicht; ich musste den absoluten Weg angeben.)

peth
quelle
100% richtig! Vielen Dank! Ich habe es behoben, indem ich stattdessen die Tastaturkürzel von compiz verwendet habe. Sehr gute Vorschläge. (Der Dialog zum Ausführen der Anwendung verhält sich tatsächlich so, wie es in Ubuntu Natty sein sollte.)
Joernsn
2

Ich habe mein Problem gelöst, indem ich am Ende meines ~ / .bashrc einen CD-Befehl hinzugefügt habe

...
cd /your_desired_path

Danach werden Sie jedes Mal, wenn Sie die Konsole aufrufen, die .bashrc verwendet, zur Eingabe Ihres gewünschten Pfads aufgefordert.

Sergio Abreu
quelle
1

Sie könnten versuchen, cdam Ende Ihrer zu setzen ~/.zshrc.

cYrus
quelle
Zsh ist meine Standard-Shell. Würde das nicht Skripte vermasseln, die erwarten, dass cwd etwas anderes ist?
Joernsn
1
Skripte werden voraussichtlich beim Start im Basisordner gespeichert.
cYrus
1

Ein paar Dinge zu überprüfen:

  1. Ihr Home-Verzeichnis ist richtig eingestellt (cd ~ bringt Sie nach Hause, ok)
  2. Die Partition, die Ihr Home-Verzeichnis enthält, wird zum Zeitpunkt der Anmeldung von GDM bereitgestellt und kann verwendet werden.

Ich hatte ein ähnliches Problem mit ZFS und hatte mein Zuhause in einem ZFS-Pool. ZFS wurde nicht vor GDM gestartet. Als es mich in meinem Home-Verzeichnis anmeldete, war es nicht da. Ein paar Sekunden später war es dort, so dass ich es aufnehmen konnte.

Majenko
quelle
Gute Vorschläge! 1: Wenn ich mich außerhalb von X anmelde, funktioniert alles, so dass es den Anschein hat, dass $ HOME dort zumindest korrekt ist. "echo $ HOME" ist auch in den Terminalemulatoren korrekt. 2: Ich habe versucht, GDM neu zu starten, nachdem ich sichergestellt habe, dass alles gemountet ist, ohne Glück :(
Joernsn