GnuLinux를 시작할 때마다 xfce를 사용하여 배경 데스크톱 이미지를 변경하는 방법

네, 이것은 제가 dev 커뮤니티에 올린 첫 번째 진정한 댓글입니다. 그래서 제가 할 수 있는 대로 최선을 다하겠습니다. 그래서 상하문을 소개하겠습니다. 제가 지난 시간 동안 많은 Gnulux 사용자distros를 테스트하는 것을 좋아했습니다. (네, 저는 발행판 힙퍼입니다) 중 하나는LXLE입니다.이것은 매우 멋진 발행판이다. 나는 그것을 매우 좋아한다. 왜냐하면 시스템이 시작될 때마다 데스크톱 배경 이미지를 변경할 수 있는 스크립트가 기본적으로 있기 때문이다. 매우 멋있다. 그렇지만 운명의 안배로 인해 나는 다른 발행판을 사용할 수밖에 없다. 그러나 나는 같은 기능을 가지고 싶다. 시작할 때마다 발행판의 배경 이미지를 변경할 수 있기 때문에 나는 자신의 스크립트를 만들어서 이 작업을 완성했다.어쨌든 이렇게 많은 문자에 아무런 코드도 없으니 시작합시다.
⚠️ 이 스크립트는 xfce4 데스크톱 환경에서만 작동합니다. (이것은 xfce가 배경 이미지를 제어하는 설정이기 때문에, xfce의 일부분인 이진 파일을 사용하여 배경을 설정할 것입니다.)
좋습니다. 이것은 매우 간단합니다. 우선 바이너리 파일 xfconf-query 을 사용해야 합니다. 이 바이너리 파일의 기능은 GUI (그래픽 사용자 인터페이스) 를 사용하지 않고 데스크톱 환경에서 설정을 설정하는 데 도움을 주기 때문에 첫 번째는 형식입니다.
xfconf-query -l
이것은 채널 목록입니다. 좋습니다. 채널이 도대체 무엇인지 설명해 봅시다. 채널은 이 바이너리 파일로 설정할 수 있는 모든 하위 메뉴의 이름입니다. 왜 우리는 스크립트를 작성하지 않고 명령을 입력하기 시작합니까?이것은 매우 간단하다. 왜냐하면 우리는 어떤 설정을 수정해서 배경을 설정해야 할지 모른다😉👍✌️, 계속해서 스크립트를 준비하여 마지막 명령과 해당 출력을 살펴보겠습니다.
lex@lexSys:~$ xfconf-query -l
Channels:
  parole
  thunar-volman
  xfprint
  ristretto
  xfce4-power-manager
  xfce4-notifyd
  xfce4-appfinder
  thunar
  xsettings
  xfce4-panel
  keyboards
  xfce4-session
  xfce4-settings-manager
  xfwm4
  xfce4-keyboard-shortcuts
  xfce4-desktop
  displays

인쇄 채널 목록을 출력하기 때문에 논리적인 이유로 데스크톱 설정을 수정해야 합니다. 백엔드 데스크톱을 수정하는 데 필요한 옵션이 있는 채널은 xfce4-desktop입니다.
다음은 우리가 이 채널에서 수정할 수 있는 설정을 보여 줍니다. 이것은 다음 명령xfconf-query -c xfce4-desktop -lv으로 하는 것입니다. 좋습니다. 이 명령의 매개 변수-c는 채널을 설정하는 데 사용되는 (xfce4-desktop입니다. -l는 이 채널의 설정을 보여 줍니다. 그런데 왜 제 명령은 -l가 없습니까? -lv???알겠습니다. 매개 변수 -v 는 상세한 출력을 표시하는 데 사용되기 때문에, 이 예에서 사용하면, 명령은 채널 xfce4-desktop 의 설정 목록과 그에 상응하는 값을 표시합니다.😉👍✌️, 또한 명령의 순서는 xfconf-query -lvc xfce4-desktop일 수 있으므로 명령과 해당 명령의 출력은 다음과 같습니다.
lex@lexSys:~$ xfconf-query -lvc xfce4-desktop 
/backdrop/screen0/monitor0/image-path              /home/lex/Descargas/QwOrRDy.jpg
/backdrop/screen0/monitor0/image-show              true
/backdrop/screen0/monitor0/image-style             5
/backdrop/screen0/monitor0/workspace0/color-style  3
/backdrop/screen0/monitor0/workspace0/image-style  5
/backdrop/screen0/monitor0/workspace0/last-image   /home/lex/Descargas/QwOrRDy.jpg
/backdrop/screen0/monitor1/image-path              /usr/share/xfce4/backdrops/xubuntu-wallpaper.png
/backdrop/screen0/monitor1/image-show              true
/backdrop/screen0/monitor1/image-style             5
/backdrop/screen0/monitor1/workspace0/color-style  0
/backdrop/screen0/monitor1/workspace0/image-style  5
/backdrop/screen0/monitor1/workspace0/last-image   /usr/share/xfce4/backdrops/xubuntu-wallpaper.png
/desktop-icons/file-icons/show-filesystem          true
/desktop-icons/file-icons/show-home                true
/desktop-icons/file-icons/show-removable           true
/desktop-icons/file-icons/show-trash               true
/desktop-icons/icon-size                           48
/desktop-icons/show-thumbnails                     true
/desktop-icons/style                               2
/desktop-icons/tooltip-size                        64.000000
/desktop-menu/show-icons                           true
/last/window-height                                546
/last/window-width                                 666
여기서 배경 그림을 설정하는 설정이 /backdrop/screen0/monitor0/last-image인 것을 볼 수 있습니다. 따라서 모든 설정을 설정하려면 명령-s을 사용해야 합니다. 그래서 완전한 명령은 이렇게 해야 합니다xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/workspace0/last-image -s pathOfOurImageToSet. 좋습니다. 마지막으로 우리의 주요 명령은 Bash 스크립트를 만드는 시간입니다.
다음 단계에서는 모든 이미지를 배치하는 폴더를 만듭니다. 스크립트는 무작위로 이미지를 촬영하고 배경으로 설정합니다. 폴더 이미지나 그림에 폴더를 만들어서 폴더에서 하는 것이 좋습니다.
mkdir /Images/backgroundImages
현재 가장 멋있는 것은 첫 번째로 배경 이미지 폴더의 파일 총량을 얻기 위해 변수를 설정하는 것입니다. 이것은 다음 명령을 통해 이루어집니다.
fileNumber=$(ls -1 $HOME/Images/backgroundImages|wc -l)
이 파이프 명령을 설명합니다. 우선 ls -1 $HOME/Images/backgroundImagesls 명령은 매개 변수 -1 를 사용하여 폴더의 파일을 표시하고, ls 줄마다 파일을 표시합니다. 그리고 이 명령의 출력 파이프를 wc -l 이 명령으로 해서 wc가 폴더의 이미지 파일 총수를 되돌려줍니다.셸 변수$RANDOM를 사용해야 하기 때문에 이것이 필요합니다. 셸 변수가 어떻게 작동하는지 봅시다.
랜덤이었어

Each time this parameter is referenced,random integer between 0 and 32767 is generated. The sequence of random numbers may be initialized by assigning a value to RANDOM. If RANDOM is unset, it loses its special properties, even if it is subsequently reset.


알겠습니다. 위의 셸 변수는 0에서 32767 사이의 무작위 수를 취할 수 있습니다. 그러나 우리는 이러한 방식으로 이 범위를 제한할 수 있습니다. 우리는 bash의 문법으로 산술 연산$(())을 해야 합니다. 예를 들어 0에서 1000 사이의 무작위 수를 얻으려면 셸에 다음과 같이 입력해야 합니다.
echo $(( $RANDOM % 1000 ))
그래서 이게 어떻게 된 일인지 모르실 수도 있어요. (네, 제 생각이 미쳤을지도 몰라요. 제가 간단한 식으로 설명할 수는 없어요. 미안해요) 그런데 저희가 설명해 드릴게요.😉👍✌️ 그림 폴더의 파일 총수가 필요합니다. 이 숫자는 랜덤수를 가져오는 수량 제한을 설정하는 데 도움을 줄 것입니다. 랜덤수를 가져오는 결과를 사용하여 배경 그림 폴더에서 그림을 선택할 것입니다. 좋습니다. 코드를 보고 이 점을 더 잘 설명하겠습니다.😉.
제 대본을 한번 보도록 하겠습니다.😉👍✌️ 그리고 이런 혼란 속에서 모든 일이 어떻게 작동하는지 설명한다.
#!/usr/bin/env bash

folderPath="/home/lex/Imágenes/"

let fileNumber=$(ls -1 $folderPath|wc -l)

getFileNumber(){

    let randomNumber=$(( $RANDOM % $fileNumber ))

}

getFileNumber

until [[ $randomNumber -ne 0 ]]; do
    getFileNumber
done

imageToSet=$(ls -1 $folderPath|sed -n ${randomNumber}p)

xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/workspace0/last-image -s $folderPath$imageToSet

먼저 이 스크립트가 어떻게 작동하는지 설명해 봅시다. 좋습니다. 첫 줄에shebang이 있습니다. 이 코드는 프로그램 마운트가 어떤 해석기를 사용해야 하는지 알려 줍니다. 그리고 우리는 $folderPath라는 변수가 있습니다. 이 변수는 우리의 파일 폴더 경로, 우리의 폴더와 이미지가 어디에 있는지 저장합니다.그리고 이미지 폴더의 파일 총량을 저장하기 위해 let fileNumber=$(ls -1 $folderPath|wc -l) 이 변수가 있습니다. let 이 변수의 값은 정수입니다. 그리고 함수 getFileNumber 가 있습니다. 이 함수는 수량에 따라 무작위 이미지 파일을 얻을 수 있습니다. 이 함수는 폴더backgroundImages에서 순환 중 until 에서 어떻게 필터합니까?이것 좀 봅시다...RANDOM 셸 변수는 0과 32767 사이에 있는 숫자를 되돌려줍니다. 문제는 0이 있습니다. 이미지 파일의 수량에 따라 무작위 수를 얻으려면 0을 얻을 수 있지만, 이것은 실제 파일 수량에 없습니다. 필터와 순환을 이 순환 함수 getFileNumber 가 0이 될 때까지 놓아두었기 때문입니다.간단하게 말하자면, 함수 getFileNumber 의 결과가 0이면, 함수는 0이 되지 않을 때까지 계속 실행되며, 마지막으로sed와 인자 -n 를 사용합니다. 이 인자는 줄 수를 인쇄하고, 심지어는 텍스트에서 문자열을 검색할 수 있습니다. 만약 문자열이 일치한다면, 이 문자열을 인쇄한 줄 (예, 마치 grep 처럼, 그러나sed를 사용하면 매우 멋있습니다.😁😁😁) 변수 randomNumber 의 무작위 값을 사용하여 이 그림 파일의 이름을 가진 숫자 줄을 인쇄합니다. 이것은 이전 인자에 변수 $folderPath$imageToSet 를 연결하기 위해서입니다. 이 명령 xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/workspace0/last-image -s $folderPath$imageToSet 에서 데스크톱 배경 그림을 설정하는 것은 간단합니다. 다음 단계는 xfce4가 시작될 때 실행할 수 있도록 이 스크립트를 설정하는 것입니다.간단합니다. GUI(Grafic 사용자 인터페이스)를 사용할 수 있는 두 가지 방법이 있습니다. 이를 위해 Ctrl+Esc를 누르면 프로그램 메뉴를 열고 세션을 검색하고 선택을 시작합니다.세션과 시작 창을 열고 프로그램 Autostart를 선택한 다음 추가 중 누르고 프로그램 이름만 입력하십시오. 변경 Background, 명령에 스크립트 경로를 입력할 수 있습니다.😉👍✌️. 다른 방법은 하나를 만드는 것이다.~/.config/autostart의 데스크톱 파일이 좋습니다. 먼저 해당 이름을 가진 파일을 만듭니다. 이것은 ChangeBackground.desktop이어야 합니다. 그 내용에 다음과 같은 내용을 추가합니다.
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Name=ChangeBackground
Comment=Script for change the background.
Exec=/home/lex/changeBackground.sh
OnlyShowIn=XFCE;
StartupNotify=false
Terminal=false
Hidden=false
여기서 중요한 것은 스크립트의 경로를 Exec= 섹션에 배치하는 것입니다. 마지막으로 우리의 스크립트는 실행 권한이 있어야 합니다. 우리는 다음 명령을 통해 스크립트를 부여할 수 있습니다.

sudo chmod u+x changeBackground.sh

이것들, 나는 이 글이 도움이 될 수 있기를 희망하기 때문에 Gnulux(Linux)를 사용하여 평화와 사랑, 영원히 포기하지 않고 즐거운 인코딩과 프로그래밍...👍✌️

좋은 웹페이지 즐겨찾기