それは可能ですか(そしてどのように)?これは、ssh アクセス権がある (ルート アクセス権がない) 複数のリモート コンピューターで本当に必要です。
4 に答える
zsh をダウンロード:
wget -O zsh.tar.xz https://sourceforge.net/projects/zsh/files/latest/download
mkdir zsh && unxz zsh.tar.xz && tar -xvf zsh.tar -C zsh --strip-components 1
cd zsh
たとえば、次のように zsh を自分でコンパイルできます。
./configure --prefix=$HOME
make
make install
次に、明示的に、または現在のシェルの起動ファイルからプログラムで起動します (exec $HOME/bin/zsh -l
適切な場所に配置します)。
コマンドを試すことができますchsh
。離れたコンピュータに zsh がインストールされていませんか? そうでない場合は、これを行うことができます(zsh FAQ Section 1.7から引用)
基本的な考え方は、exec を使用して現在のシェルを zsh に置き換えることです。多くの場合、.profile (シェルが sh または ksh の場合) または .login (csh の場合) などのログイン ファイルでこれを行うことができます。exec はしばしばかなり厳しいので、これを試みる前にファイルを変更する何らかの方法 (例えば FTP 経由) があることを確認してください。
ホームディレクトリのサブディレクトリ bin に zsh がある場合は、これを .profile に入れます。
[ -f $HOME/bin/zsh ] && exec $HOME/bin/zsh -l
または、ログイン シェルが csh または tcsh の場合は、これを .login に入れます。
if ( -f ~/bin/zsh ) exec ~/bin/zsh -l
(いずれの場合も -l は zsh にログイン シェルであることを伝えます)。
コミットする前にこれが機能することを確認したい場合は、ログイン シェルに zsh を実行するかどうかを尋ねさせることができます。Bourne のようなシェルでは次のように動作します。
[ -f $HOME/bin/zsh ] && {
echo "Type Y to run zsh: \c"
read line
[ "$line" = Y ] && exec $HOME/bin/zsh -l
}
C シェルのようなシェルの場合:
if ( -f ~/bin/zsh ) then
echo -n "Type Y to run zsh: "
if ( "$<" == Y ) exec ~/bin/zsh -l
endif
これを (-l がなくても) .cshrc に入れるのは良い考えではありません。少なくとも csh が何をしているのかについてのいくつかのテストがなければ、 csh のすべてのインスタンスが zsh に変わり、 csh スクリプト (そうです、残念ながらこれらを書いている人もいます) は呼び出さずcsh -f
に失敗します。xterm に zsh を実行するように指示する場合は、zsh を実行すると同時に、SHELL 環境変数を zsh のフル パスに変更します (実際、これは、xterm を使用していない場合でも、一貫性を維持するために賢明です)。.cshrc から zsh を実行する必要がある場合、最小限の安全性チェックは if ($?prompt) exec zsh です。
ログイン シェルをプロセス リストに -zsh として表示する場合は、zsh を -zsh にリンクし (たとえば、ln -s ~/bin/zsh ~/bin/-zsh で)、exec を exec -zsh に変更します。(-zsh がパスにあることを確認してください。) これは -l オプションと同じ効果があります。
脚注: root アクセス権がある場合は、zsh が NIS クライアントを含むすべての適切なマシンの /etc/shells にあることを確認してください。そうしないと、そのマシンへの FTP で問題が発生する可能性があります。
zsh
マシンに zsh がある場合は、スワップのプロンプトで実行するだけで問題ありません。それが機能する場合はchsh
、シェルをスワップするか (root なしで動作するはずです)、またはssh
putで接続しているときssh -t hostname zsh
に自動的に起動します。
ユーザー アカウントのディレクトリにディレクトリを作成し、zsh./config
を展開してから、make
およびを使用しmake install
ます。