모든 클라이언트의 배경 화면을 변경하는 방법은 무엇입니까?

모든 클라이언트의 배경 화면을 변경하는 방법은 무엇입니까?

앞서 말했듯이 우리 회사에서는 500대 이상의 우분투 PC를 운영하고 있습니다. 종종 우리는 회사 광고를 고객 컴퓨터의 배경화면으로 설정하곤 했습니다. 이 모든 컴퓨터의 배경화면을 하나씩 변경하는 것은 어렵고, 배경화면을 변경하기 위해 SSH를 통해 모든 컴퓨터에서 스크립트를 실행하는 것도 어렵습니다. 서버에서 배경 화면을 변경하면 모든 클라이언트 시스템에 영향을 미치도록 서버를 설정하는 방법이 있습니까? 가능하다면 우리의 시간과 노력을 절약해 줄 것입니다. 누구든지 도와줄 수 있나요? 미리 감사드립니다..

답변1

설정크론 작업새 이미지가 있는지 특정 위치 1곳을 확인하는 스크립트를 실행하는 모든 시스템에서. wget 및 ftp를 사용한 샘플(테스트되지 않은) 스크립트:

#!/bin/bash
wget -N -r -nH --cut-dirs=2 -t 180 -P /tmp ftp://user:[email protected]/dir/backgroundimage.gif
gconftool-2 --type string --set /desktop/gnome/background/picture_filename /tmp/backgroundimage.gif

기본적으로 두 번째 줄은 이미지를 머신에 수동으로 로드하는 데 사용하는 방법으로 변경해야 합니다. 그런 다음 cron이 스크립트를 실행하여 매시간 또는 하루에 한 번씩 새 이미지를 확인하도록 설정합니다 .

가져오도록 설정할 수도 있습니다.스크립트클라이언트 시스템에서 해당 스크립트가 실행된 다음 이미지를 가져오고 gconftool-2를 사용하여 배경을 변경합니다. 이렇게 하면 배경을 변경하는 것 이상의 작업을 실행할 수 있습니다.


를 사용하여 크론 작업을 생성할 수 있습니다 sudo crontab -e. 그러면 다음과 유사한 줄이 표시됩니다.

# m h  dom mon dow   command

(m 분, h 시간, dom 일, 월 월, dow 요일) 그리고 그 아래에 ...를 추가할 수 있습니다.

0 * * * /path/to/executable

또는

@hourly     /path/to/executable

/path/to/executable매 시간 정각에 운행 하도록 했습니다 . 주의하세요: 여기에 입력한 스크립트는 경로 변수를 포함하지 않으면 경로 변수를 이해하지 못합니다. 이것을 상단에 넣어 다음 $SHELL을 포함할 수 있습니다 $PATH.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

그렇지 않으면 스크립트가 전체 경로 이름을 사용하여 명령을 실행하는지 확인해야 합니다. cron에 대한 자세한 내용은 다음에서 확인할 수 있습니다.우분투 위키.

또한 /etc/cron.hourly디렉토리를 사용하여 매시간 실행되는 스크립트를 거기에 넣을 수도 있습니다. 마지막 부분에 관한 예시 주제:내 cron.hourly 구성에 어떤 문제가 있나요?그리고Cron.hourly가 실행되지 않습니다..

답변2

그럴만한 가치가 있을 수도 있어요꼭두각시와 같은 원격 관리 프레임워크 설치. 일반적으로 네트워크에 맞게 올바르게 설치하고 구성하는 데 시간이 좀 걸리지만 일단 일단 거기에 있으면 모든 컴퓨터(또는 그 하위 집합)에 파일을 복사하고 해당 컴퓨터에서 스크립트를 실행하는 등의 작업이 매우 쉽습니다.

답변3

배경 화면 설정을 필수로 설정하면 사용자가 배경을 맞춤 설정할 수 없습니다.

Ubuntu 11.04 이하에서는 이 명령을 사용해야 합니다.일하다:

sudo gconftool-2 --direct --config-source \
xml:readwrite:/etc/gconf/gconf.xml.mandatory --type string --set \
/desktop/gnome/background/picture_filename \ 
"/usr/share/backgrounds/cosmos/blue-marble-west.jpg"

Ubuntu 11.10(또는 모든 GNOME 3 시스템)에서는 다음을 수행할 수 있습니다.~와 함께:

  1. 다음 내용으로 /etc/dconf/profile/user 파일을 만듭니다.

    user
    site
    
  2. 다음 내용으로 /etc/dconf/db/site.d/Background 파일을 생성하여 기본 설정을 지정합니다.

    [org/gnome/desktop/background]
    picture-uri='file:///usr/share/backgrounds/company-wallpaper.jpg'
    
  3. 마지막으로 다음 내용으로 /etc/dconf/db/site.d/locks/Background를 생성하여 기본값을 필수로 만듭니다.

    /org/gnome/desktop/background/picture-uri
    
  4. dconf 설정이 작동하려면 컴파일해야 하므로 실행하십시오. sudo dconf update 처음 실행하는 경우 효과를 보려면 재부팅해야 합니다. 현재,벌레사용자는 여전히 일반 배경 선택기를 볼 수 있습니다. 실제로 배경이 바뀌지는 않습니다.

이 솔루션을 꼭두각시 같은 것과 결합하여 이 설정을 회사의 모든 컴퓨터에 전파하십시오!

답변4

다음 5가지 단계를 따르세요.

  1. clusterssh여러 시스템의 원격 세션을 얻으려면 centos/ubuntu에 도구를 설치하십시오.Clusterssh에 대해 자세히 읽어보세요.

  2. clusterssh.sh루트 디렉터리에 이름이 지정된 파일을 만듭니다 .
    예를 들어 :vim /root/.clusterssh.sh

    #!/bin/bash
    cssh  -l <username> <ip addresses to connnect>
    :wq
    

    여러 Linux 호스트의 쉘을 얻으면.
    사용자로 로그인하십시오.

  3. 루트 로그인을 사용하여 배경화면 파일을 복사합니다
    . 예:

    scp [email protected]:/root/Downloads/wallpaper.jpg(Source)  /home (Destination)
    

    비밀번호를 묻는 메시지가 표시되고 소스 시스템의 비밀번호가 제공됩니다.

  4. "표시할 수 없음 오류"를 해결하려면 이 명령을 실행하십시오.

    $export DISPLAY=:0
    

    또는

    $export DISPLAY=:1.0
    
  5. 배경화면을 설정해야 하는 사용자 로그인에서 아래 명령을 실행합니다.

    pcmanfm  --set-wallpaper=”/home/wallaper.jpg”
    

    사용자가 배경 화면을 설정할 수 없는 경우 해당 사용자에게 sudo 권한을 부여해야 하며 아래 프로세스를 사용하십시오.

    루트 로 이동하여 #nano /etc/sudoers아래에 Enter 입력

    Username ALL=/usr/bin/pcmanfm #command location
    

그리고팔!여기에서는 한 번에 여러 시스템의 배경 화면을 얻을 수 있습니다.

관련 정보