como fazer autologin sem *DM

1. como fazer autologin sem *DM

Perfil removido
removido

(usa Nenhuma)

Enviado em 23/12/2019 - 02:49h

olá eu to tentando parar de ser um daqueles "psicopatas" de programas que instala um milhão de coisas e no fim só usa o editor de textos e o navegador então eu resolvi instalar um sistema minimo
acabei pegando o devuan para isso
dei um apt install vim xorg i3* qutebrowser* neofetch e só isso o resto vai conforme a necessidade porem eu não sei como logar automaticamente e iniciar o X,eu não quero usar uma dm porque só quero um autologin mesmo nada de mais
to usando o openrc como init


  


2. Re: como fazer autologin sem *DM

3. Re: como fazer autologin sem *DM

augusto
marimbondo

(usa Outra)

Enviado em 23/12/2019 - 08:47h

Esse tipo de coisa é muito específico, então não tem como te passar algo pronto.

Eu também não uso gerenciador de tela (DM), acho desnecessário.. Porém para configurar a inicialização do X manualmente, você precisa entender várias coisas..

A mais importante é entender como o Xinit funciona (do pacote xorg-xinit no Arch, na sua distro pode ser um nome um pouco diferente). O arquivo .xinitrc é meramente um pequeno script dentro da sua pasta de usuário que configura o que o comando 'startx' irá fazer. Geralmente, você só precisa colocar alguns programas que você deseja abrir na sua sessão, ( no meu exemplo abaixo, eu peço para ele executar o 'xbindkeys', que é um daemon que gerencia atalhos de teclado pro sistema, e logo em seguida, tem que vir um comando com 'exec' e que vai abrir um ambiente de trabalho, no meu caso, o comando 'exec startxfce4', ou pode ser um gerenciador de janelas, tipo o i3..

# ~/.xinitrc
#!/bin/sh

userresources="$HOME/.Xresources/"
usermodmap="$HOME/.Xmodmap"
sysresources="/etc/X11/xinit/.Xresources"
sysmodmap="/etc/X11/xinit/.Xmodmap"

# merge in defaults and keymaps
if [ -f $sysresources ]; then
xrdb -merge $sysresources
fi

if [ -f $sysmodmap ]; then
xmodmap $sysmodmap
fi

if [ -f "$userresources" ]; then
xrdb -merge "$userresources"
fi

if [ -f "$usermodmap" ]; then
xmodf() { sleep 20; xmodmap "$usermodmap"; exit; }
xmodf &
fi

# start some nice programs
if [ -d /etc/X11/xinit/xinitrc.d ] ; then
for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
[ -x "$f" ] && . "$f"
done
unset f
fi

# Start some nice programmes
## Load custom binding of keys for shortcuts
xbindkeys

# Start XFCE4 Environment
exec startxfce4


Bom, feita a configuração do .xinitrc, você ainda precisa criar/adicionar a seguinte linha no arquivo ~/.xserverrc, que é um arquivo de configurações extras para o 'startx':

#~/.xserverrc,
#!/bin/sh
exec /usr/bin/Xorg -nolisten tcp "$@" vt$XDG_VTNR

Isso é necessário para não dar algun sprobleminhas depois... É o tipo de coisa que os DM fazem automaticamente..
A variável $XDG_VTNR é configurada pelo módulo do PAM pam_systemd nas máquinas que usam o systemd..

Feitas essas confs, basta você digitar 'startx' depois que fizer o log-in em uma TTY!

Agora, se você quiser logar automaticamente, deverá editar seu arquivo .bash_profile (ou .profile, depende do seu esquema) e pode adicionar um comando 'startx' ao final do .bash_profile. Como o .bash_profile só é lido em uma sessão do Bash de log-in, esse arquivo só será lido uma vez quando você logar em um TTY. Depois, quando estiver no X, ele não deve ser lido novamente, e sim, somente o .bashrc.. Enfim, esse tipo de coisa você precisa saber mais ou menos, pelo menos, para configurar o início de sessão manualmente..

O Xinit funciona mais facilmente, sem grande configurações, se você estiver logado no TTY1. Se quiser abrir várias sessões gráficas do TTY2, TTY3... etc, é um pouquinho mais complicado.. Mas acho que não precisamos entrar tão a fundo por enquanto.

Uma outra alternativa que eu estava utilizando até há pouquíssimo tempo atrás, é um gerenciador de tela simples que eu criei com base em um vídeo de um cara do BSD, há um ano atrás. Você pode colocar no final do seu .bash_profile:

~/.bash_profile
# Start X? -- My simple display manager
mystartxf() {
# If not ROOT
if [[ ${EUID} -ne 0 ]]; then
## Start X Server?
printf "Start X Server?\n"
read -p "y/N? " yn
case $yn in
[Yy]* ) printf "Yes!\n"; startx;;
[Nn]* ) printf "Answer is No. Exiting...\n";;
* ) printf "No!\n";;
esac
fi
}
mystartxf


Perceba que se o usuário não for raiz, e você apertar 'y', ele vai rodar o comando 'startx' e se apertar qq outra tecla, ele volta para o TTY normalmente.. Usuários raiz não deveriam usar o X, enfim...

Agora, eu estou usando o CDM, que é um display manager totalmente escrito em Bash, e o legal é que ele tem uma pequena interface em curses e temas coloridos... Porém, você precisa entender bem o Xinit para poder configurar o CDM..
https://wiki.archlinux.org/index.php/CDM



4. Re: como fazer autologin sem *DM

Tio do Toldo
Tio_do_Toldo

(usa Debian)

Enviado em 23/12/2019 - 12:50h

Específico para o Devuan:
https://dev1galaxy.org/viewtopic.php?id=3179

Não precisa dessa trabalheira não ô marimbondo. É só setar o init para logar automaticamente como usuário e dar o ordem de startx no .profile ou outra dotfile semelhante em função.


5. Re: como fazer autologin sem *DM

augusto
marimbondo

(usa Outra)

Enviado em 23/12/2019 - 23:03h

Ô tio estou explicando pro ppa do Mal, ele acredito ser muito dedicado, pode ser útil para ele. Ao invés de tacar-lhe o link.. E não tem nada de complicado, é exatamente o mesmo que vc falou p fazer.

Agora, o que ele quis dizer com auto-login, fica um mistério.


6. Re: como fazer autologin sem *DM

Perfil removido
removido

(usa Nenhuma)

Enviado em 24/12/2019 - 02:31h

desculpem a demora eu estive meio ocupado mais vou testar agora mesmo
eu quis dizer um login automático quando disse autologin e tambem o X iniciando automaticamente






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts