i3lock,在配置双显示器中显示相同的图像吗?

i3lock,在配置双显示器中显示相同的图像吗?

两个不同的显示器上可以显示相同的图像吗?我使用的是 Ubuntu 18.04 i3wm。我有一个自定义脚本i3lock,其中包含 Morty(Rick & Morty)的图像。但是,在双显示器中,图像停留在显示器中间。有什么建议吗?

答案1

为了使用单个监视器而不是两个监视器的中心,您需要设置SDL_VIDEO_FULLSCREEN_HEAD。根据您加载的方式,您可以通过在\i3中指定或在运行时指定来执行此操作:~/.xinitrc.xsessionrci3locki3

export SDL_VIDEO_FULLSCREEN_HEAD=0  # First monitor

0是显示器的编号,从零开始。对于双显示器设置,您可以在0和之间进行选择1。通常,0将是您在 BIOS POST 和初始 Linux 控制台中看到的显示器。

i3lock仅有的

实现此目的的最简单方法是设置此变量i3lock,因此通过编辑~/.config/i3/config

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

所有程序i3

要对 内的用户的所有应用程序执行此操作i3,您需要将这一行添加到~/.xinitrc\.xsessionrc本身。

一旦在窗口管理器启动时定义了此变量,全屏应用程序将全部显示在此屏幕上,而不会分割显示在两个屏幕上。您可以通过导出变量并启动 来在单个终端中测试这一点i3lock,但您必须按照前面所述进行更改并重新启动i3才能使其正常工作。

你可能会发现的一个问题是~/.xinitrc\.xsessionrc并没有被引入i3推荐而是将这些配置添加到~/.profile

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

就我个人而言,我放弃了GDM和,LightDM而是登录到控制台/tty,并且startx,与上述建议类似,使用Xsession配置为i3作为默认设置,这会导致正确初始化~/.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

桌面背景/壁纸

要设置壁纸(可能与 不同)i3lock,您可以使用fehfeh将设置两个显示器相同(默认情况下):

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

或者,在您的~/.config/i3/config

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

或者,您可以设置xscreensaver,它可以很好地处理双屏显示器,通过在两个显示器上都显示屏幕保护程序,并将登录提示放在单个显示器的中央。

相关内容