"a tela está encerrando" para não-root

"a tela está encerrando" para não-root

Quando tento executar a tela como um usuário não root, recebo:

screen

[screen is terminating]

imediatamente, embora funcione bem para root

ls -alh /usr/bin/screen
-rwxr-sr-x 1 root screen 465K Jun  9 20:30 /usr/bin/screen

Ao pesquisar no Google, notei uma menção ao /etc/fstab, aqui está o meu:

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/md1        /       ext4    errors=remount-ro       0       1
/dev/md2        /home   ext4    defaults        1       2
/dev/sda3       swap    swap    defaults        0       0
/dev/sdb3       swap    swap    defaults        0       0
proc            /proc   proc    defaults                0       0
sysfs           /sys    sysfs   defaults                0       0
tmpfs           /dev/shm        tmpfs   defaults        0       0
devpts          /dev/pts        devpts  defaults        0       0

Isso em um centos 7 recém-instalado em um servidor dedicado acessado através de ssh (TTY é pts)

Qualquer ajuda seria apreciada.

screen -ls    
No Sockets found in /var/run/screen/S-user.

ls -la /var/run/screen/S-user
total 0
drwx------ 2 user user 40 Jul 10 18:23 .
drwxrwxr-t 4 root     screen   80 Jul 10 17:59 ..

Responder1

Tive esse problema no servidor dedicado CentOS 7 e encontrei a correção descrita neste relatório de bug: bugs.centos.org/view.php?id=7395

Essa foi uma ótima solução no Dedicated para adicionar gid=5aos desenvolvedores no fstab. screenagora funciona conforme o esperado para todos os usuários.

No entanto, encontrei este tópico enquanto tentava resolver o problema em um contêiner OpenVZ do CentOS 7. Como não há como editar o fstab para o servidor (até onde pude encontrar), encontrei o seguinte solução alternativa corrigiu o problema.

Achei que deveria voltar por aqui e ver se isso poderia ajudar mais alguém. (Embora não seja uma maneira muito bonita de fazer isso.)

No terminal:

chmod u+s /usr/bin/screen
chmod 755 /var/run/screen

Responder2

Certifique-se de que ninguém screenesteja usando esse dispositivo

Isto pode ser conseguido comComo posso determinar qual processo tem um arquivo aberto no Linux?:

sudo lsof /dev/ttyS0

E então mate esse processo, se for esse o caso.

Por algum motivo, nesta condição, sudo screenainda é possível acessar o dispositivo, mas então essa conexão perderá caracteres, que serão consumidos pela outra screen.

Certifique-se de que o usuário tenha permissão de leitura e gravação no arquivo

Por exemplo, no Ubuntu você deseja adicionar o usuário ao dialoutgrupo:https://askubuntu.com/a/133244/52975

Responder3

Pode ser um erro no seu arquivo de configuração

~/.screenrc

Tente verificar ou criar um escuro.

informação relacionada