Como você configuraria o byobu como um shell de login?

5

Eu preciso que meus usuários de telnet e ssh usem o byobu como seu shell de login. Eu gostaria de evitar o uso de .login / .profile / .bashrc e os gostos de gerar byobu. Eu gostaria de ter o byobu como o shell definido em / etc / passwd. Já fiz alguns testes, mas não consegui que funcione corretamente. Alguma idéia?

    
por Uqbar 23.02.2012 / 17:54

4 respostas

8

Byobu não é um shell, por si só. É um programa que você executa dentro do seu shell. Os utilitários, byobu-enable e byobu-disable , coloque uma linha no final do seu ~/.profile que lança byobu (se necessário) quando você gerar um novo login. O script de wrapper faz alguma verificação de sanidade para você e impede a recursão.

Agora, dito isso, eu vou lhe dizer como você pode fazer o que você está pedindo para fazer, mas eu strongmente aconselho contra isso. Você pode acabar em alguma recursão desagradável ou loop infinito. Cuidado!

  1. Defina / usr / bin / screen como seu shell de login no último campo em / etc / passwd.
  2. Coloque isso no seu ~/.screenrc :

    source /usr/share/byobu/profiles/byoburc

por Dustin Kirkland 23.02.2012 / 18:25
2

adicione isso ao / etc / profile

echo $- | grep -qs i && byobu-launcher && exit 0
    
por user47740 23.02.2012 / 18:22
1

Antes de configurar o shell, você provavelmente deve certificar-se de que o programa que você quer irá funcionar como um shell. Os shells "válidos" são pré-configurados em / etc / shells; Se o que você quer usar como shell não estiver nessa lista, eu consideraria cuidadosamente se você quer usá-lo como shell ou não. Você poderia tentar com um usuário de teste primeiro, para ter certeza de que pode fazer login corretamente usando-o como um shell.

Mas sobre como alterar seu shell padrão.

Para usuários individuais, você pode alterar o shell de login usando o comando chsh .

  

chsh aceitará o nome completo do caminho de qualquer arquivo executável no   sistema. No entanto, ele emitirá um aviso se o shell não estiver listado   o arquivo / etc / shells. Por outro lado, também pode ser configurado   de tal forma que ele só aceitará shells listados neste arquivo, a menos que você   são raízes.

Para alterar o shell padrão de todos os usuários, isso depende de como você adiciona usuários. Por exemplo, se você usar o comando adduser , poderá configurar o shell padrão em /etc/adduser.conf:

$ grep -i dshell /etc/adduser.conf 
# The DSHELL variable specifies the default login shell on your
DSHELL=/bin/bash
    
por Ken Kinder 23.02.2012 / 18:30
1

Estou usando o Byobu com o tmux em vários sistemas, mas acabei de fazer um novo teste de usuário no Debian 8 antes de postar.

O que parece estar funcionando para mim é:

  1. Login shell como / bin / sh
  2. O Byobu é ativado via 'byobu-launcher-install'
  3. O Tmux está lançando o Fish como encontrei aqui: Como eu altero o shell padrão usado no Byobu (tmux)?
    set -g default-shell /usr/bin/fish
    set -g default-command /usr/bin/fish

Eu também tenho usuários começando Fish primeiro e Byobu via fish.config, ambos funcionam, mas eu achei que o shell de login também poderia ser algo mais simples.

    
por Buckshee 02.04.2015 / 15:51