O servidor telnet Damn-Small-Linux congela

1

Estou usando o Damn Small Linux (ou "DSL") (que é baseado "não-puramente" no Debian - tenho acesso ao apt-get) em uma máquina virtual.
Eu instalei o servidor de telnet (telnetd + xinetd).
Também estou executando outra Máquina Virtual, desta vez com o cliente de telnet instalado (distribuição Linux AntiX).

Quando estou conectando com o telnet do AntiX para o DSL, sou avisado sobre login + senha, o que é ok.
Mas quando eu faço o login, ele mostra apenas uma mensagem e depois congela. Por "congela" eu quero dizer:

  1. Eu posso digitar qualquer coisa que eu quiser, mas quando pressiono ENTER os comandos não são executados. Em vez disso, o cursor apenas se move para a próxima linha.
  2. A linha "dsl @ dsl $" (que solicita a digitação de um comando) não é mostrada.
  3. No lado do servidor (DSL), o flash do Windows (fechar) quando o login acontece.

Parece que algum processo está sendo executado, mas o problema é que ele nunca para. Eu tenho que digitar "Ctrl + C" para pará-lo e continuar com a linha de comando.

Aqui está uma captura de tela quando ela congela:

Há também um aviso no site da DSL que diz que se você instalar o aplicativo errado via apt-get, então você pode quebrar alguma coisa, "para Instância o servidor X"? Isso poderia ser um servidor X?

Minhas perguntas são:

  1. Posso descobrir qual processo está sendo executado? Pretendo aqui apenas tentar e não começar de novo.
  2. Posso fazer com que esse processo não inicie com a conexão telnet?

Fazer o login com root também reproduz o erro.

    
por thanopi57 16.10.2017 / 12:57

1 resposta

1

De acordo com esta página wiki sobre /home/dsl/.bash_profile , o conteúdo padrão deste arquivo verifica se você está fazendo login a partir do ssh, e se não usar o comando startx para iniciar o servidor gráfico X11:

#!/bin/bash
export IRCNICK=DSL
SSH='env | grep SSH_CONNECTION'
RUNLEVEL='runlevel|cut -f2 -d' ''
if [ -z "$SSH" ]; then
   if [ $RUNLEVEL -eq 5 ]; then
       startx
   fi
fi

Portanto, quando você faz login a partir do telnet, o ssh não é detectado e provavelmente você está fazendo startx e executando o X11. A solução mais simples é editá-lo para tornar o comando um comentário, : startx , ou de alguma forma detectar sua conexão telnet. O Telnet geralmente não define variáveis de ambiente especiais. Você poderia talvez usar o comando tty para ver que você está em uma pseudo-tty em vez de um console real. Por exemplo, após a adição da linha SSH= :

case 'tty' in
/dev/pts*) SSH=telnet ;;
esac

Para um usuário diferente de dsl , como root , é necessário procurar em seu diretório pessoal para ver se é diferente de / home / dsl e confira ambos .profile e .bash_profile . Encontre o diretório com, por exemplo:

awk -F: '$1=="root"{print $6}' /etc/passwd
    
por 16.10.2017 / 14:22