GNU ekranının OS X'teki giriş dizinimde başlamamasını nasıl sağlarım?


11

GNU Screen ( screen), Linux (en azından Ubuntu, Red Hat ve Gentoo) ve OS X 10.4 (Tiger) ile karşılaştırıldığında OS X 10.5 (Leopard) ve 10.6 (Snow Leopard) üzerinde farklı davranır. 10.5 ve 10.6 sürümlerinde, ( screenveya ile yapılmış ^A c) yeni ekranlar beni her zaman ana dizinime yerleştirir ~. Linux ve OS X Tiger'da yeni ekranlar pwd, ekranın orijinal olarak oluşturulduğu her yere sahiptir.

Ne demek istediğimi göstermek için örnekler hazırladık:

Kaplan:

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

Leopar, Kar Leoparı:

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

Leopard ve Snow Leopard'ın Tiger'ın eskisi gibi davranmasını nasıl sağlayabilirim?

Yanıtlar:


7

Yazarken tam olarak neyin çalıştırıldığını kontrol etmenin daha iyi bir yolu screençalıştırmaktır command -V screen. Bu, bir ikili (bu durumda tam yol verilecektir) veya kabuk takma adı, işlevi vb.

Kontrol edilmesi gereken başka bir şey, chdirsizin ~/.screenrcveya sistem genelinde bir komut olup olmadığıdır screenrc.


3
Sonunda ne yaptığını öğrendim. Ben shell -$SHELLbir iş arkadaşınız kopyalanan bir bölümünde. Sorun kaldırıldığında ortadan kalktı. Linux, vb. Gibi davranmaz.
Benjamin Oakes

3

screen(1)Adam sayfa açıklar Ekran chdirkomutunu .

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

Bir programlama oturumu için My Screen yapılandırması şu komutu içerir:

chdir "$HOME/Projects"

2

İlk adım, ekranın bir takma ad olmadığından emin olmaktır.

Yazın aliasve arayın screen. Bu listenin uzun olabileceği konusunda uyarılmalıdır. alias | grep screenBuğdayı samandan ayırmak için yazmak isteyebilirsiniz .

Böyle screenbir şey için takma ad olduğu ortaya çıkarsa , cd ~ && screenbunu kullanarak kaldırabilirsiniz unalias screen.


Daha da iyisi: kullanıntype screen
thiagowfx

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.