Bagaimana cara mendapatkan layar GNU untuk tidak memulai di direktori home saya di OS X?

11

Layar GNU ( screen) berperilaku berbeda pada OS X 10.5 (Leopard) dan 10.6 (Snow Leopard) dibandingkan dengan Linux (setidaknya Ubuntu, Red Hat, dan Gentoo) dan OS X 10.4 (Tiger). Di 10.5 dan 10.6, layar baru (dibuat dengan screenatau ^A c) selalu menempatkan saya di direktori rumah saya ~. Di Linux dan OS X Tiger, layar baru memiliki pwddimanapun layar awalnya dibuat.

Contoh-contoh yang dibuat untuk menggambarkan apa yang saya maksud:

Harimau:

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

Macan tutul, macan tutul salju:

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

Bagaimana saya membuat Leopard dan Snow Leopard berperilaku seperti Tiger dulu?

Benjamin Oakes
sumber

Jawaban:

7

Cara yang lebih baik untuk memeriksa apa yang sebenarnya dijalankan saat Anda mengetik screenakan dijalankan command -V screen. Ini akan memberi tahu Anda apakah itu menjalankan biner (dalam hal ini path lengkap akan diberikan) atau shell alias, fungsi, dll.

Hal lain yang perlu diperiksa adalah apakah ada chdirperintah di Anda ~/.screenrcatau di seluruh sistem screenrc.

jamessan
sumber
3
Akhirnya mengetahui apa yang sedang dilakukan itu. Saya memiliki shell -$SHELLbagian yang disalin dari rekan kerja. Masalahnya hilang ketika dihapus. Itu tidak berperilaku seperti di Linux, dll.
Benjamin Oakes
3

The screen(1)halaman manual menjelaskan Screen chdirperintah .

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

Konfigurasi My Screen untuk sesi pemrograman termasuk perintah

chdir "$HOME/Projects"
hidung besar
sumber
2

Langkah pertama adalah memastikan layar itu bukan alias.

Ketik aliasdan cari screen. Berhati-hatilah karena daftar ini bisa panjang. Anda mungkin ingin mengetik alias | grep screenuntuk memisahkan gandum dari sekam.

Jika screenternyata menjadi alias untuk sesuatu seperti cd ~ && screenAnda dapat menghapus ini menggunakan unalias screen.

sebelas81
sumber
Bahkan lebih baik: gunakantype screen
thiagowfx