Não é possível acessar a GUI debian

0

Eu instalei recentemente o Debian 9.0 estável com o KDE no meu notebook que já tinha uma instalação do Ubuntu e do Windows 10. Minha intenção era criar uma nova partição para a raiz do debian e usar a mesma partição / home / daniel como eu estava usando no meu Ubuntu. Embora eu tenha esquecido de usar um nome de usuário igual e mais tarde criei um novo usuário (com o aplicativo GUI do KDE) no Debian com o nome de usuário do meu Ubuntu (daniel). O primeiro usuário pode entrar sem congelar para a GUI, embora o meu novo possa apenas através do tty.

Eu já tentei as seguintes soluções:

  • Mude as permissões do diretório / home / daniel (eu não tinha nenhuma, mas adicioná-las não era suficiente).

    sudo chmod 755 /home/daniel

  • Incluir meu usuário nos mesmos grupos aos quais o primeiro usuário pertencia, como sambashare , sudo e lipadmin (não pertenceu a nenhum originalmente) .

    sudo usermod -a -G lipadmin,sambashare,sudo,... daniel

  • Mudando o usuário e o grupo para a pasta do meu usuário, executá-lo recursivamente me fez ter que mudá-lo na minha instalação do ubuntu porque os usuários e grupos mudaram para " 101 " quando eu iniciei através dele. / p>

    chown -R daniel:daniel /home/daniel

Quando inicializei meu Ubuntu e o usuário para os arquivos mudou para 101, eu não consegui entrar na GUI também. Mas eu consertei isso com chown -R daniel:daniel /home/daniel rodado no tty do ubuntu.

    
por Zeor137 16.11.2017 / 02:25

2 respostas

0

O que importa para os sistemas operacionais Linux (para o seu kernel através de chamadas do sistema feitas por todos os programas) não são nomes de usuários , mas ids de usuários ou uid -s. É um pequeno número positivo (não um nome), como 1234. Leia credenciais (7) .

Você precisa garantir que tanto no Debian quanto no Ubuntu o usuário daniel tenha o mesmo uid . O nome daniel não é muito importante (e você pode querer, mas não precisa, usar um nome diferente). Provavelmente Debian e Ubuntu estão usando diferentes uid-s / gid -s para daniel . Leia também id (1) e use id -a . E use o comando stat (1) no seu diretório inicial, portanto, stat /home/daniel para entenda o que uid e gid tem ...

Eu suponho que você pode obter energia de superusuário em ambos os sistemas operacionais, por exemplo, executando sudo . Caso contrário, você precisa inicializar a partir de uma mídia externa no modo de recuperação ou inicializar seu kernel com init=/bin/bash .

O mapeamento entre os nomes de usuários e seus uid-s geralmente é feito em /etc/passwd , portanto, leia atentamente passwd (5) (hoje esse /etc/passwd não contém mais nenhuma informação de senha, mas esse caminho de arquivo não mudou por razões históricas. Veja também sombra (5) ). BTW, esse mapeamento poderia - com cuidado - ser feito de outra forma (mas geralmente não é) e como é feito é configurado em /etc/nsswitch.conf (que eu suponho que você não mudou, veja nsswitch.conf (5) para mais)

Da mesma forma, o mapeamento entre os nomes dos grupos e seus gid-s é feito em /etc/group , portanto, leia atentamente grupo (5) .

Então, primeiro execute os comandos (não os programas GUI, no seu caso eles estão confundindo você) para entender o que o uid / gid é usado para daniel no Debian e no Ubuntu. Você provavelmente deseja executar o comando grep daniel /etc/passwd (consulte grep (1) ). Da mesma forma, execute o comando relevante para encontrar seu gid (em ambos os sistemas).

Em seguida, decida sobre um comum uid e gid para ambos sistemas (Debian e Ubuntu). Ele deve estar sem uso e você precisa que ele seja o mesmo (pequeno número positivo) no Debian e no Ubuntu. Eu recomendo escolher um número acima de 4000, mas abaixo de 65000 como seu uid comum (e também para o seu gid comum).

Cuidado

Altere o uid e o gid editando -como root- cuidadosamente com um editor (como vim , ou emacs , ou nano , etc), o /etc/passwd e /etc/group de arquivos nos dois sistemas para compartilhar o mesmo uid / gid no Debian e no Ubuntu para seu usuário. Use sync (1) após essa edição (provavelmente é inútil, mas você quer Certifique-se de que sua edição vai para o disco).

(se você estragar essa etapa, você pode ter algum sistema inutilizável)

Em seguida, (como root) altere (uma vez) recursivamente a propriedade do seu diretório pessoal, usando o chown (1) comando. Você provavelmente deseja executar algo semelhante a chown -R daniel:daniel /home/daniel (o primeiro daniel é um nome de usuário, o segundo é um nome de grupo, o terceiro é uma entrada de diretório). Depois disso, considere usar chmod (1) para alterar a permissão (provavelmente como chmod -R a-rx /home/daniel ), uma vez que você não deve ter diretórios domésticos ou próprios graváveis (essa é uma enorme vulnerabilidade ).

NB: prefira, para tarefas administrativas, usar comandos sem GUI

    
por 16.11.2017 / 07:00
0

Você atualmente compartilha a casa entre os dois daniel usuários no Ubuntu e no Debian! O que está acontecendo é que esse usuário tem o uid 1000 no Ubuntu, mas o 1001 no Debian. A pasta foi criada pelo Ubuntu, então é de propriedade de 1000. Assim, o daniel no Debian não pode escrever absolutamente nada em sua casa, o que impede o login gráfico.

Compartilhar a casa é teoricamente possível, mas leva a uma bagunça, eu não a recomendo. Qual é o seu objetivo ? Eu acho que você quer compartilhar seus dados (documentos, imagens, ...), não configurações de aplicativos. Então você encontrará a solução aqui .

    
por 26.12.2017 / 01:23