i3lock, exibe a mesma imagem em uma configuração de monitor duplo?

i3lock, exibe a mesma imagem em uma configuração de monitor duplo?

É possível ter a mesma imagem em dois monitores diferentes? Estou usando o Ubuntu 18.04 com i3wm. Tenho um script customizado i3lock, com uma imagem do Morty (Rick & Morty). Mas, no monitor duplo, a imagem fica no meio dos monitores. Alguma sugestão?

Responder1

Para usar um único monitor em vez do centro de ambos, você precisa configurar o SDL_VIDEO_FULLSCREEN_HEAD. Dependendo de como você está carregando i3, você pode fazer isso especificando em ~/.xinitrc\ .xsessionrc, ou para i3lockquando for executado por i3:

export SDL_VIDEO_FULLSCREEN_HEAD=0  # First monitor

0é o número do monitor, começando com zero. Para uma configuração de monitor duplo, você pode escolher entre 0e 1. Normalmente, 0será o monitor que você verá o BIOS POST e o console inicial do Linux.

i3lockapenas

A maneira mais simples de conseguir isso seria definir essa variável para i3lock, editando seu ~/.config/i3/config:

...
exec --no-startup-id i3lock ... 
...
exec --no-startup-id SDL_VIDEO_FULLSCREEN_HEAD=0 i3lock ... 

Todos os programas emi3

Para fazer isso para todos os aplicativos do seu usuário i3, você adicionaria esta linha a ~/.xinitrcsi .xsessionrcmesmo.

Depois que essa variável for definida quando o gerenciador de janelas for iniciado, os aplicativos de tela inteira serão exibidos nesta tela e não serão divididos em ambas. Você pode testar isso em um único terminal exportando a variável e iniciando i3lock, mas você deve fazer a alteração conforme descrito anteriormente e reiniciar i3para que tudo funcione corretamente.

Um problema que você pode descobrir é que ~/.xinitrc\ .xsessionrcnão está sendo trazido por i3. Umrecomendaçãoé adicionar essas configurações a ~/.profile:

if [ "$0" = "/usr/sbin/lightdm-session" -a "$DESKTOP_SESSION" = "i3" ]; then
    # Do stuff
fi

Pessoalmente, abandonei ambos GDMe LightDM, em vez disso, faça login no console/tty e startx, semelhante à sugestão acima, usando Xsessionconfigurado com i3como padrão, o que causa a inicialização adequada de ~/.xinitrc:

#
# ~/.bash_profile
#
[ -e ~/.profile ] && source ~/.profile
[ -e ~/.bashrc ] && source ~/.bashrc

if [ $XDG_VTNR -le 2 ] && [ $TERM != "screen-256color"  ]; then
    startx /etc/X11/Xsession -- :1 -nolisten tcp
fi

Plano de fundo/papel de parede da área de trabalho

Para configurar um papel de parede, que provavelmente é diferente de i3lock, você pode usar feh. fehconfigurará os dois monitores da mesma forma (por padrão):

feh --bg-center /path/to/desktop.png --image-bg '#f1fa8c'

Ou, no seu ~/.config/i3/config:

exec_always --no-startup-id sleep 5 ; feh --bg-center /path/to/desktop.png --image-bg '#f1fa8c'

Como alternativa, você pode configurar o xscreensaver, que lida perfeitamente com monitores de tela dupla, exibindo o protetor de tela em ambos e colocando o prompt de login no centro de um único monitor.

informação relacionada