それは可能ですか?私は実際には、私はsshアクセスが(ルートアクセスがない)いくつかのリモートコンピュータのためにこれが必要です。rootアクセスなしでzshをインストールしますか?
答えて
あなたはchsh
コマンドを試すことができます。離れたところにzshがインストールされていないのですか?そうでない場合は、
基本的な考え方は、zshのと現在のシェルを交換するには、execを使用することです(zsh FAQ Section 1.7から引用)これを行うことができます。これは、.profile(シェルがshまたはkshの場合)または.login(cshの場合)などのログインファイルで行うことができます。あなたはこれを試す前に、execがしばしば寛容ではないので、ファイルを変更する方法があることを確認してください。
[ -f $HOME/bin/zsh ] && exec $HOME/bin/zsh -l
をしたり、ログインシェルがcshまたはtcshのであれば、.loginファイルでこれを置く:
あなたのホームディレクトリのサブディレクトリのbinでのzshをお持ちの場合は、.profileファイルにこれを入れ
if (-f ~/bin/zsh) exec ~/bin/zsh -l
(それぞれの場合において、-lは、それがログインシェルであるのzshを伝えます)。
あなたは、これはそれに自分自身をコミットする前に動作確認したい場合は、ログインシェルをzshのをexecしするかどうかを尋ねることができます。
[ -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
それは.cshrcファイルに(でも-lなし)これを置くことは良い考えではありません、少なくともCSHは、それがCSHのすべてのインスタンスはzshのに変身するとcshのスクリプトが原因となる原因となりますよう、やっていることになっているかについて、いくつかのテストをせずに(はい、残念ながら一部の人々はこれらの書き込み)csh -f
を呼び出すしません失敗する。 xtermにzshを実行するよう指示したい場合は、exec zshと同時にSHELL環境変数をzshのフルパスに変更します(実際には、xtermを使用していなくても一貫性があります)。 .cshrcからexec zshを実行する必要がある場合は、($?prompt)exec zshの場合は最小限の安全性チェックが必要です。
プロセスシェルに-zshとして表示されるようにログインシェルを使用する場合は、zshを-zshにリンクすることができます(例:ln -s〜/ bin/zsh〜/ bin/-zsh)。 exec -zsh。 (パスに-zshがあることを確認してください)これは-lオプションと同じ効果があります。
脚注:あなたはrootアクセス権を持っている場合は、必ずzshのはNISクライアントを含むすべての適切なマシンで、上の/ etc /シェルに入り、あるいはあなたがそのマシンにFTPで問題が発生することがあります。その後、
./configure --prefix=$HOME
make
make install
と明示的に開始するか、プログラムであなたの現在のシェルの起動ファイルから(中exec $HOME/bin/zsh -l
を置く:
マシンにzshがある場合は、zsh
をスワップするプロンプトで実行するだけで問題ありません。もしうまくいくなら、シェルをスワップする(ルートなしで動作するはずです)か、接続してみるかssh
ssh -t hostname zsh
を入力すると自動的に開始されます。
ユーザーアカウントディレクトリにディレクトリを作成し、zshを展開した後、./config
,make
およびmake install
を使用します。
でダウンロードzshの:あなたは、たとえば、自分でのzshコンパイルでき
wget -O zsh.tar.gz https://sourceforge.net/projects/zsh/files/latest/download
mkdir zsh && tar -xvzf zsh.tar.gz -C zsh --strip-components 1
cd zsh
右のスポット)。
質問は*ルートアクセスなし*のインストールについてでした。 –