xinit (Português)
xinit é normalmente usado para iniciar os gerenciadores de janela ou ambientes de desktop. Embora você também possa usar o xinit para executar aplicativos GUI sem um gerenciador de janelas, muitos aplicativos gráficos esperam um gerenciador de janelas compatível com EWMH. O gerenciador de exibição inicia o Xorg para você e geralmente obtém o xprofile.
Do Wikipédia:
Instalação
Instale o pacote xorg-xinit.
Configuração
xinit e startx aceitam um argumento opcional do programa cliente, veja #Sobrescrever xinitrc. Se você não fornecer um, eles procurarão para executar como um script de shell para inicializar os programas clientes.
xinitrc
O é útil para executar programas dependendo do X e definir variáveis de ambiente na inicialização do servidor X. Se ele estiver presente no diretório home de um usuário, startx e xinit o executa. Do contrário, startx executará o padrão.
Este xinitrc padrão iniciará um ambiente básico com Twm, e Xterm (supondo que os pacotes necessários estejam instalados). Portanto, para iniciar um gerenciador de janelas ou ambiente de desktop diferente, primeiro crie uma cópia do xinitrc
padrão em seu diretório inicial:
$ cp /etc/X11/xinit/xinitrc ~/.xinitrc
Então, edite o arquivo e substitua os programas padrão pelos comandos desejados. Lembre-se que as linhas que seguem um comando usando serão ignoradas. Por exemplo, para iniciar em segundo plano e, em seguida, iniciar openbox, use o seguinte:
Programas de execução longa iniciados antes do gerenciador de janelas, como um aplicativo de proteção de tela e de papel de parede, devem ser separados ou executados em segundo plano anexando um sinal de . Caso contrário, o script pararia e aguardaria a saída de cada programa antes de executar o gerenciador de janelas ou o ambiente de área de trabalho. Note que alguns programas não devem ser bifurcados (fork), para evitar bugs de corrida, como é o caso do xrdb. Acrescentar antes do comando substituirá o processo do script pelo processo do gerenciador de janelas, de modo que o X não saia mesmo que esse processo se bifurque ao segundo plano.
xserverrc
O arquivo é um script de shell responsável por inicializar o servidor X. Ambos startx e xinit executam ~/.xserverrc
se ele existir; caso contrário, startx usará .
Para manter um sessão autenticada com e para evitar contornar o bloqueio de tela alternando os terminais, o Xorg deve ser iniciado no mesmo terminal virtual onde ocorreu o login . Portanto, é recomendado especificar no arquivo ~/.xserverrc
:
~/.xserverrc
#!/bin/sh exec /usr/bin/Xorg -nolisten tcp "$@" vt$XDG_VTNR
Veja para uma lista de todas as opções de linha de comando.
Alternativamente, se você deseja que o X seja exibido em um console separado daquele onde o servidor é invocado, você pode fazê-lo usando o wrapper do servidor X fornecido por . Por conveniência, xinit e startx podem ser configurados para usar este wrapper modificando seu ~/.xserverrc
.
Uso
Para executar o Xorg como um usuário comum, use:
$ startx
ou se #xserverrc estiver configurado:
$ xinit -- :1
Seu gerenciador de janela (ou ambiente de desktop) deve ser iniciado corretamente agora.
Para sair do X, execute a função de saída do seu gerenciador de janela (supondo que ele tenha uma). Se não tiver essa funcionalidade, execute:
$ pkill -15 Xorg
Veja também .
Dicas e truques
Sobrescrever xinitrc
Se você tem um funcionando, mas quer apenas tentar outro gerenciador de janela ou ambiente de desktop, você pode executá-lo emitindo startx seguido pelo caminho para o gerenciador de janela, por exemplo:
$ startx /usr/bin/i3
Se o binário recebe argumentos, eles precisam ser citados para serem reconhecidos como parte do primeiro parâmetro de startx:
$ startx "/usr/bin/aplicativo --chave valor"
Note que o caminho completo é obrigatório. Você também pode especificar opções personalizadas para o script #xserverrc anexando-as após o sinal de traço duplo :
$ startx /usr/bin/enlightenment -- -br +bs -dpi 96
Veja também startx(1).
Inicializar automaticamente o X no login
Certifique-se de que startx esteja apropriadamente configurado.
Para o Bash, adicione o seguinte ao final do ~/.bash_profile
. Se o arquivo não existir, copie uma versão esqueleto de . Para Zsh, adicione-o a .
Você pode substituir a comparação por uma como (de vt1 a vt3) se quiser usar logins gráficos em mais de um terminal virtual.
Condições alternativas para detectar o terminal virtual incluem , que não permite comparação com , e , que não funciona em consoles seriais.
Se você quiser de permanecer autenticado quando a sessão X terminar, remova .
Veja também Fish#Start X at login e Systemd/User#Automatic login into Xorg without display manager.
Alternando entre ambientes de desktop/gerenciadores de janela
Se você estiver alternando com frequência entre diferentes ambientes de desktop ou gerenciadores de janela, é conveniente usar um gerenciador de exibição ou expandir para tornar a troca possível.
O seguinte exemplo mostra como iniciar um determinado ambiente de desktop ou gerenciador de janela com um argumento:
Para passar o argumento sessão:
$ xinit sessão
ou
$ startx ~/.xinitrc sessão
Inicializando aplicativos sem um gerenciador de janela
É possível iniciar apenas aplicativos específicos sem um gerenciador de janela, embora provavelmente isso seja útil apenas com um único aplicativo mostrado no modo de tela cheia. Por exemplo:
Alternativamente, o binário pode ser chamado diretamente a partir do prompt de comando, conforme descrito em #Sobrescrever xinitrc.
Com esse método, você precisa definir a geometria de cada janela do aplicativo por meio de seus próprios arquivos de configuração (se possível).
Veja também also Gerenciador de exibição#Iniciando aplicativos sem um gerenciador de janela.
Faça redirecionamento usando startx
Veja Xorg#Redirecionamento do log da sessão para detalhes.