デフォルトでは、各端末エミュレータには異なるシェルが使用されます。

デフォルトでは、各端末エミュレータには異なるシェルが使用されます。

各端末エミュレータのデフォルトシェルを個別に変更したいと思います。明確にするために、使用、使用などをxterm使用したいと思います。可能ですか?それでは、これを達成する方法は何ですか?tcshptermpyshgnome-terminalbash

答え1

各端末エミュレータには、実行するシェルを選択する独自のカスタマイズ方法があります。

  • gnome-terminalrun a custom command instead of my shellには、設定ファイルエディタにこのフィールドがあります。
  • xterm(およびpterm)は構成を保存するために使用されますが、xrdb databaseコマンド実行構成は許可されません。 xterm実行可能ファイルをラップして、次の機能を提供する単純なシェルスクリプトを作成できます。実行可能ファイル範囲。
  • konsoleのcommandプロファイルエディタにはこのフィールドがあります。

したがって、各ターミナルエミュレータを設定する方法(および設定するかどうか)については、マニュアルを読んでください。普遍的な方法はありません:-(

実行するシェルを簡単に選択する方法が必要な場合は、プロファイル(gnome-terminalなど)をサポートするターミナルエミュレータを選択し、各シェルタイプに対して異なるプロファイルを作成することをお勧めします。これにより、gnomeターミナルの内部メニューを使用して、必要なシェルを実行する新しいタブまたはウィンドウを起動できます(ボーナスとして各シェルに異なるテキストの色を選択することもできます)。

答え2

迅速かつ包括的なソリューションでラッパースクリプトを作成できます。

case "$1" in
   xterm) shell=/bin/tcsh ;;
   pterm) shell=/bin/pysh ;;
   gnome-terminal) shell=/bin/bash ;;
   *)
       printf "Not supported: %s\n" "$1" >&2
       exit 1
esac

SHELL="$shell" "$1"

次のように使用してくださいthescript <terminal_emulator>

ただし、通常、各端末エミュレータを個別に設定するのが最善です。

関連情報