Konsole は /etc/passwd で指定されたシェルを実行しません。

Konsole は /etc/passwd で指定されたシェルを実行しません。

私は長い間FedoraとGnomeでBashを使ってきましたが、最近はArch Linux、Plasma、ZSHに切り替えました。 zsh、ファイルを設定して使用しましたが、うまくchsh -s $(which zsh)いきます。ただし、Konsole bashを実行するたびに自動的に実行されるため、手動で呼び出す必要がありますzsh。私が知っている内容は次のとおりです。

echo $SHELL/bin/bashに戻る

cat /etc/passwd | grep $LOGNAME私のシェルを/usr/bin/zshとしてマーク

ZSHはtty(非グラフィック)にログインするとデフォルトで実行されます。

アップデート1:「基本設定/構成/一般」タブに「コマンド」オプションがなく、ユーザー設定に自分のシェルに関連するGUIオプションがありません。

答え1

望むよりSettings>Configure Konsole>Profiles

関連する構成ファイルを編集し、Commandフィールドを変更します。

答え2

私の考えでは、KDEとKonsoleしなければならない基本オプションを尊重します。これを行うには、次の小さなスクリプトを使用できます。

$ sudo vi /usr/local/bin/shell.sh

#!/bin/sh

PSHELL=$(getent passwd $USER|cut -d: -f7)

eval "$PSHELL"

実行を許可します。

$ sudo chmod +x /usr/local/bin/shell.sh

じゃあ君をめちゃくちゃ戻る輪郭

Settings>Configure Konsole>Profiles>Edit Profile>General Tab>Command

/bin/bashに変更/usr/local/bin/shell.sh

これからchsh -s /bin/someshell使ってみると戻るあなたの選択を尊重します。

使用可能なシェルを表示するには、次を使用します。

cat /etc/shells

出力例:

# /etc/shells: valid login shells
/bin/sh
/bin/bash
/usr/bin/bash
/bin/rbash
/usr/bin/rbash
/bin/dash
/usr/bin/dash
/usr/bin/tmux
/bin/zsh
/usr/bin/zsh

注1:shell.sh追加しないことをお勧めします/etc/shells。ただそのようにしてください戻る構成。

注2:必要に応じて別のフォルダに保存できます。たとえば、ユーザーが1人しかいない場合は、~/bin/shell.shsudoが不要なものから始めることをお勧めします。

関連情報