Telnetとsshのユーザーにログインシェルとしてbyobuを使用させる必要があります。 .login/.profile/.bashrcと同類のbyobuを使用することは避けたいと思います。/etc/passwdで定義されたシェルとしてby風を持ちたいです。すでにいくつかのテストを行っていますが、適切に機能させることができませんでした。何か案が?
By風自体はシェルではありません。これは、シェル内で実行するプログラムです。ユーティリティ byobu-enable および byobu-disable は、~/.profile
の最後に byob (必要な場合)を起動する行を追加します新しいログインを生成します。そこにあるラッパースクリプトは、いくつかの健全性チェックを行い、再帰を防ぎます。
さて、そうは言っていますが、あなたが求めていることをどのように行うことができるかをお話ししますが、私は強く反対します。厄介な再帰または無限ループになる可能性があります。気をつけて!
これを~/.screenrc
に入れてください:
source /usr/share/byobu/profiles/byoburc
これを/ etc/profileに追加します
echo $- | grep -qs i && byobu-launcher && exit 0
シェルを設定する前に、必要なプログラムがシェルとして機能することを確認する必要があります。 「有効な」シェルは、/ etc/shellsで事前に構成されています。シェルとして使用するものがそのリストにない場合は、シェルとして使用するかどうかを慎重に検討します。最初にテストユーザーで試して、シェルとして使用して問題なくログインできることを確認できます。
しかし、デフォルトのシェルを変更する方法について説明します。
個々のユーザーについては、 chshコマンド を使用してログインシェルを変更できます。
chshは、システム上のすべての実行可能ファイルの絶対パス名を受け入れます。ただし、シェルが/ etc/shellsファイルにリストされていない場合、警告が発行されます。一方、rootでない限り、このファイルにリストされているシェルのみを受け入れるように構成することもできます。
すべてのユーザーのデフォルトシェルを変更するには、ユーザーの追加方法によって異なります。たとえば、adduser
コマンドを使用する場合、/ etc/adduser.confでデフォルトのシェルを構成できます。
$ grep -i dshell /etc/adduser.conf
# The DSHELL variable specifies the default login Shell on your
DSHELL=/bin/bash
私はさまざまなシステムでtmuxでByobuを使用していますが、投稿する前にDebian 8で新しいユーザーテストを行いました。
私のために働いていると思われるのは:
set -g default-Shell /usr/bin/fish set -g default-command /usr/bin/fish
また、fish.configを介してFishを最初に起動し、Byobuを起動するユーザーもいますが、ログインシェルはもっと単純なものになると考えました。
これは質問の詳細ではなく、タイトルに答えます。そのため、開始時にbyobuが/etc/profile
をソースしていないという問題がある場合は、次のように修正できます。 ~/.byobu/.tmux.conf
に追加:
set -g default-command '/bin/bash --login'
これは、ログインシェルとしてbashを使用するため、byobu /etc/profile
の起動時にソースされます。