Linux: come impostare la directory predefinita degli emulatori di terminale?


12

Dopo l'aggiornamento a Ubuntu 11.04, i miei terminali (gnome-terminal e urxvt) iniziano "/"invece di"~"

Cosa può causare questo comportamento?

Immagino che la directory di lavoro di Gnome o X sia impostata su "/"qualcosa del genere, ma non ho idea di dove iniziare il debug.

Uso zsh, config può essere incluso.


potresti provare dirs -va scoprire se l'ultima voce proviene da qualche pushd dopo $ HOME in qualche modo. Solo un pensiero.
Alain Pannetier,

Risposte:


5

Presumo che tu veda questo comportamento quando apri i termini con scorciatoie da tastiera personalizzate mentre si avviano nella directory giusta se vengono aperti tramite il menu o la finestra di dialogo Esegui applicazione .

I programmi stranamente definiti nella sezione Scorciatoie personalizzate della finestra di dialogo Scorciatoie da tastiera di Gnome non sembrano ereditare la directory di lavoro della sessione. Non sapendo nulla delle ragioni, sospetto che si tratti di un bug.

soluzioni alternative:

  • Utilizzare il collegamento Esegui un terminale nella sezione Desktop e impostare l'emulatore di terminale preferito in Sistema => Preferenze => Applicazioni preferite => Sistema => Emulatore di terminale ,

  • Imposta la scorciatoia da tastiera su uno script wrapper, ad es

    #!/bin/sh
    exec rxvt -cd $HOME
    
  • Definire il collegamento per includere l'impostazione della directory di lavoro, ad esempio:

    gnome-terminal --working-directory=$HOME
    

    o

    rxvt -cd /path/to/home
    

    (Quest'ultimo non funziona con $HOMEme; ho dovuto dare il percorso assoluto.)


100% corretto! Grazie! L'ho corretto usando invece le scorciatoie da tastiera di compiz. Suggerimenti molto buoni. (La finestra di dialogo dell'applicazione di esecuzione si comporta effettivamente come dovrebbe in Ubuntu
Natty

2

Ho risolto il mio problema aggiungendo un comando cd alla fine del mio ~ / .bashrc

...
cd /your_desired_path

Successivamente, ogni volta che invochi la console che utilizza .bashrc ti verrà richiesto il percorso desiderato.


1

Potresti provare a mettere cdalla fine del tuo ~/.zshrc.


Zsh è la mia shell predefinita. Questo non rovinerebbe gli script aspettandosi che la CWD fosse qualcos'altro ??
Joernsn,

1
Gli script prevedono di trovarsi nella cartella principale all'avvio.
cYrus

1

Un paio di cose da controllare:

  1. La tua home directory è impostata correttamente (cd ~ ti porta a casa ok)
  2. La partizione che contiene la tua home directory è montata e utilizzabile al momento in cui GDM ti accede.

Ho avuto un problema simile usando ZFS e avendo la mia casa su un pool ZFS. ZFS non si avviava prima di GDM, quindi quando mi ha registrato nella mia home directory non c'era. Pochi secondi dopo, però, era lì, quindi ho potuto eseguire il cd.


Buoni suggerimenti! 1: Se eseguo l'accesso al di fuori di X, tutto funziona, quindi sembra che $ HOME sia corretto lì. "echo $ HOME" è corretto anche negli emulatori di terminale. 2: Ho provato a riavviare GDM dopo essermi assicurato che tutto fosse montato, senza fortuna :(
Joernsn,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.