i3에서 배경을 설정하는 가장 인기 있는 방법은 다음을 feh
통해 를 사용하는 것 같습니다.
exec_always feh --bg-fill /home/user/Pictures/wallpaper.jpg
귀하의 파일에 ~/.config/i3/config
. 그런 다음 다음을 사용하여 투명하게 구성 ~/.Xresources
할 수 있습니다 .URxvt
URxvt.transparent: true
URxvt.shading: 50
URxvt.blurRadius: 0
URxvt.background: #d3d3d3
URxvt.foreground: #1d1f21
feh
보시다시피 이 두 가지 기능은 내 집 컴퓨터에서 완벽하게 함께 작동합니다. 지금은 끔찍한 색 구성표를 무시하십시오.
feh
이제 여러 가지 이유로 직장에서 yum 저장소에 대한 액세스가 제한되었습니다. 또한 나 자신이나 그와 유사한 것을 다운로드하여 컴파일할 수도 없습니다. 대신 저는 ImageMagick
그 display
기능을 사용하여 배경을 설정해 왔습니다.
exec_always display -window root /home/user/Pictures/wallpaper.jpg
배경 화면 자체를 설정하고 i3와 함께 작동할 수 있습니다.
문제는 이렇게 하면 ImageMagick
실제로 루트 이미지를 설정하는 대신 오버레이만 설정하는 것처럼 보이고 URxvt
결국 기본 회색 루트 이미지를 읽게 된다는 것입니다. 이 컴퓨터도 내 집 컴퓨터이고 잘 작동하므로 문제가 feh
되지 않습니다 .URxvt
ImageMagick
실제로 루트 배경화면을 설정하도록 배경을 설정하는 다른 방법이 있습니까 ? 이것이 내가 선호하는 솔루션입니다.- 배경화면을 설정하는 데 사용할 수 있는 다른 소프트웨어나 미리 설치된 공통 도구가 있으면 더 좋나요? 다시 한 번 말씀드리지만,
feh
제가 직장에서 보고 봐야 할 것들 에 접근할 수 없다는 점을 명심하세요 . 나는 보았다이 게시물몇 가지 언급은 되었지만 작품에 등장했는지 확인할 시간이 없었습니다. 1. 또한 진정한 투명성을 위해 compton, xcompmgr 등에 액세스할 수 없습니다.
고쳐 쓰다:xsetroot
ImageMagick을 사용하여 이미지로 변환 해 보았지만 .jpg
흑백만 지원하는 이미지에만 작동합니다. 표시된 이미지와 여전히 동일하기를 원하므로 작동하지 않습니다..bmp
convert
xsetroot
.xbm
.jpg
답변1
ltrace
이를 실행하면 feh
픽스맵을 생성하고 XSetWindowBackgroundPixmap을 사용하여 루트 창에 연결하는 것으로 나타납니다(193은 루트 창 ID의 0xc1입니다).
XOpenDisplay(...) = 0x22a8a50
XCreatePixmap(0x22a8a50, 193, 1920, 1080) = 0x3000001
XSetWindowBackgroundPixmap(0x22a8a50, 193, 0x3000001, ...) = 1
그러나 더 중요한 것은 루트 창에 두 가지 속성을 설정한다는 것입니다.
XChangeProperty(0x22a8a50, 193, 312, 20) = 1
XChangeProperty(0x22a8a50, 193, 807, 20) = 1
너는 볼 수있어
$ xprop -root
ESETROOT_PMAP_ID(PIXMAP): pixmap id # 0x3000001
_XROOTPMAP_ID(PIXMAP): pixmap id # 0x3000001
ImageMagick과 같은 프로그램은 display
루트 배경을 변경할 때 이러한 속성을 업데이트하지 않는 것 같습니다.
사용 후 확인할 수 있습니다 feh
. 위의 두 속성을 제거하면(을 사용하여 xprop -root -remove ...
) 프로그램에 urxvt
더 이상 투명한 배경이 표시되지 않습니다.
xprop
옵션이 있지만 이를 -set
사용하여 Pixmap ID를 설정하거나 변경하는 방법을 모르겠습니다.