我使用 Ubuntu Natty、urxvt(具有 256 种颜色)和 Imagemagick(display -window root [...])将根窗口设置为图片。当我在 urxvt 上使用透明度 (-tr) 选项时,我得到的是 Ubuntu X 登录屏幕背景(粉红色/紫色),而不是当前根窗口上的图像。请参见底部的图片。
请注意,如果我运行 gnome-terminal 并设置其透明度,也会存在同样的问题。
我怀疑 imagemagick 没有在正确的 X11 层上绘图,但我(和谷歌)无法找出正确的选项是什么。
问题可能出在 xorg 配置或窗口组合上吗?
编辑:增加了悬赏,因为没有人感兴趣或没有人知道......
最后,这是我在调试模式下使用的完整命令:
$ display -window root -geometry '-0-0' -resize '1920x1080>' -debug X11 /media/MediaVault/Images/Wallpapers//347852_1257250176_large.jpg
2011-08-24T15:47:49+01:00 0:00.070 0.060u 6.6.2 X11 display[8318]: xwindow.c/XMakeStandardColormap/8206/X11
Standard Colormap:
2011-08-24T15:47:49+01:00 0:00.070 0.060u 6.6.2 X11 display[8318]: xwindow.c/XMakeStandardColormap/8207/X11
colormap id: 0x20
2011-08-24T15:47:49+01:00 0:00.070 0.060u 6.6.2 X11 display[8318]: xwindow.c/XMakeStandardColormap/8209/X11
red, green, blue max: 255 255 255
2011-08-24T15:47:49+01:00 0:00.070 0.060u 6.6.2 X11 display[8318]: xwindow.c/XMakeStandardColormap/8212/X11
red, green, blue mult: 65536 256 1
2011-08-24T15:47:49+01:00 0:00.070 0.060u 6.6.2 X11 display[8318]: xwindow.c/XMakeImage/5588/X11
XImage:
2011-08-24T15:47:49+01:00 0:00.070 0.060u 6.6.2 X11 display[8318]: xwindow.c/XMakeImage/5589/X11
width, height: 1200x717
2011-08-24T15:47:49+01:00 0:00.070 0.060u 6.6.2 X11 display[8318]: xwindow.c/XMakeImage/5591/X11
format: 2
2011-08-24T15:47:49+01:00 0:00.070 0.060u 6.6.2 X11 display[8318]: xwindow.c/XMakeImage/5593/X11
byte order: 0
2011-08-24T15:47:49+01:00 0:00.070 0.060u 6.6.2 X11 display[8318]: xwindow.c/XMakeImage/5595/X11
bitmap unit, bit order, pad: 32 0 32
2011-08-24T15:47:49+01:00 0:00.070 0.060u 6.6.2 X11 display[8318]: xwindow.c/XMakeImage/5598/X11
depth: 24
2011-08-24T15:47:49+01:00 0:00.070 0.060u 6.6.2 X11 display[8318]: xwindow.c/XMakeImage/5600/X11
bytes per line: 4800
2011-08-24T15:47:49+01:00 0:00.070 0.060u 6.6.2 X11 display[8318]: xwindow.c/XMakeImage/5602/X11
bits per pixel: 32
2011-08-24T15:47:49+01:00 0:00.070 0.060u 6.6.2 X11 display[8318]: xwindow.c/XMakeImage/5604/X11
red, green, blue masks: 0xff0000 0xff00 0xff
2011-08-24T15:47:49+01:00 0:00.090 0.070u 6.6.2 X11 display[8318]: xwindow.c/XMakePixmap/7548/X11
Pixmap:
2011-08-24T15:47:49+01:00 0:00.090 0.070u 6.6.2 X11 display[8318]: xwindow.c/XMakePixmap/7549/X11
width, height: 1200x717
2011-08-24T15:47:49+01:00 0:00.090 0.070u 6.6.2 X11 display[8318]: display.c/XDisplayBackgroundImage/13735/X11
Image: /media/MediaVault/Images/Wallpapers//347852_1257250176_large.jpg[0] 1200x717
2011-08-24T15:47:49+01:00 0:00.090 0.070u 6.6.2 X11 display[8318]: display.c/XDisplayBackgroundImage/13741/X11
答案1
我使用 feh 来实现这一点,它可以在带有 windowmaker 和 wterm(rxvt 基础)的 debian 和 ubuntu 上运行:
https://wiki.archlinux.org/index.php/Feh#As_a_desktop_wallpaper_manager
摘抄:
When using GNOME, you must disable Nautilus from controlling the desktop. The easiest way is to run this command:
$ gconftool-2 --set /apps/nautilus/preferences/show_desktop --type boolean false
我很好奇这是否有帮助,因为听起来问题不在于 X 的背景本身,而在于其他一些愚蠢的 gnome 工具(真的,古老的学校还在使用 gnome?!;)
答案2
如果您确实对 syslog 和 X 进行 tail 和 grep,它会显示任何潜在错误吗?
sudo tail /var/log/syslog | grep X
我不太熟悉 Imagemagick,但如果我处于同样的情况,我肯定会检查它的配置文件并确保一切都正常(vars 指向正确等)。
尝试打开 imagemagick 的调试(-debug X11)。
http://www.imagemagick.org/script/command-line-options.php#debug