Come faccio ad avere la schermata GNU per non avviarsi nella mia directory home in OS X?


11

GNU Screen ( screen) si comporta diversamente su OS X 10.5 (Leopard) e 10.6 (Snow Leopard) rispetto a Linux (almeno Ubuntu, Red Hat e Gentoo) e OS X 10.4 (Tiger). In 10.5 e 10.6, i nuovi schermi (creati con screeno ^A c) mi posizionano sempre nella mia directory home ~. In Linux e OS X Tiger, i nuovi schermi hanno un punto in cui pwdlo schermo è stato creato originariamente.

Esempi inventati per illustrare cosa intendo:

Tigre:

$ cd ~/foo
$ pwd
/Users/ben/foo
$ screen
$ pwd
/Users/ben/foo
$ screen # or ^A c
$ pwd
/Users/ben/foo

Leopardo, Leopardo delle nevi:

$ cd ~/foo
$ pwd
/Users/ben/foo
$ screen
$ pwd
/Users/ben
$ screen # or ^A c
$ pwd
/Users/ben

Come faccio a far sì che Leopard e Snow Leopard si comportino come una volta Tiger?

Risposte:


7

Un modo migliore per verificare esattamente cosa viene eseguito quando si digita screensarebbe quello di eseguire command -V screen. Questo ti dirà se sta eseguendo un binario (nel qual caso verrà fornito il percorso completo) o un alias di shell, una funzione, ecc.

Un'altra cosa da verificare è se c'è un chdircomando nel tuo ~/.screenrco nell'intero sistema screenrc.


3
Alla fine ho scoperto cosa lo stava facendo. In shell -$SHELLuna sezione l' avevo copiato da un collega. Il problema è scomparso quando è stato rimosso. Non si comporta allo stesso modo di Linux, ecc.
Benjamin Oakes,

3

La screen(1)pagina man descrive il chdircomando Schermo .

   chdir [directory]

   Change the current directory of screen to the specified directory or,
   if called without an argument, to your home  directory  (the  value  of  the
   environment  variable  $HOME).  All windows that are created by means of the
   "screen" command from within ".screenrc" or by means of "C-a : screen
   ..." or "C-a c" use this as their default directory.  Without a chdir command,
   this would be the directory from which screen was  invoked. …

La configurazione di My Screen per una sessione di programmazione include il comando

chdir "$HOME/Projects"

2

Il primo passo è assicurarsi che lo schermo non sia un alias.

Digita aliase cerca screen. Tieni presente che questo elenco potrebbe essere lungo. Potresti voler digitare alias | grep screenper separare il grano dalla paglia.

Se screenrisulta essere un alias per qualcosa di simile cd ~ && screenpuoi rimuoverlo usando unalias screen.


Ancora meglio: usaretype screen
thiagowfx

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.