Как бы вы настроить Byobu в качестве оболочки входа в систему?

Мне нужно, чтобы мои пользователи telnet и ssh использовали byobu в качестве оболочки для входа. Я хотел бы избежать использования .login / .profile / .bashrc и лайков для порождения byobu. Я хотел бы иметь byobu в качестве оболочки, определенной в / etc / passwd. Я уже провел несколько тестов, но не смог заставить его работать должным образом. Есть идеи?

6
задан 24 February 2012 в 19:26

5 ответов

добавить это в / etc / profile

echo $- | grep -qs i && byobu-launcher && exit 0
0
ответ дан 24 February 2012 в 19:26

Я использую Byobu с tmux в различных системах, но я просто сделал новый пользовательский тест на Debian 8 перед регистрацией.

То, что, кажется, работает на меня:

  1. Оболочка входа в систему как/bin/sh
  2. Byobu включают через 'byobu-launcher-install'
  3. Tmux запускает Рыбу, когда я нашел здесь: Как я изменяю оболочку по умолчанию, используемую в Byobu (tmux)?
    set -g default-shell /usr/bin/fish
    set -g default-command /usr/bin/fish

У меня также есть пользователи, начинающие Рыбу сначала и Byobu через fish.config, обе работы, но я думал, что оболочка входа в систему может также быть чем-то более простым.

1
ответ дан 24 February 2012 в 19:26

Бёбу не является оболочкой, как таковой. Это программа, которую вы запускаете в своей оболочке. Утилиты, byobu-enable и byobu-disable , помещают строку в конец вашего ~/.profile, которая запускает byobu (при необходимости), когда вы появляетесь новый логин. Скрипт-обёртка делает некоторую проверку работоспособности и предотвращает рекурсию.

Теперь, как говорится, я расскажу вам, как вы могли бы делать то, что вы просили, но я настоятельно советую против этого. Вы вполне можете оказаться в какой-нибудь неприятной рекурсии или бесконечном цикле. Осторожно!

  1. Установите / usr / bin / screen в качестве оболочки входа в систему в последнем поле /etc/passwd.
  2. Поместите это в свои ~/.screenrc:

    source /usr/share/byobu/profiles/byoburc

0
ответ дан 24 February 2012 в 19:26

Это отвечает не на детали вопроса, а на его название. Итак, если ваша проблема в том, что byobu не запускает источник /etc/profile при запуске, это можно исправить следующим образом. В ~/.byobu/.tmux.conf добавьте:

set -g default-command '/bin/bash --login'

Это будет использовать bash в качестве оболочки входа в систему, поэтому при запуске byobu /etc/profile будет получен источник.

0
ответ дан 24 February 2012 в 19:26

Перед настройкой оболочки вы, вероятно, должны убедиться, что любая необходимая программа будет работать в качестве оболочки. «Действительные» оболочки предварительно сконфигурированы в / 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
0
ответ дан 24 February 2012 в 19:26

Другие вопросы по тегам:

Похожие вопросы: