여러 모니터의 다른 월페이퍼


16

랩탑과 모니터가 있습니다. 대부분의 경우 랩탑이 HDMI를 통해 모니터에 연결되어 있습니다. Ubuntu Gnome 14.04를 사용하며 여기에 내가 원하는 것이 있습니다.

  • 모니터가 연결되어 있지 않으면 간단한 배경 이미지를 원합니다
  • 모니터가 연결되면 랩탑과 모니터의 다른 배경 이미지가 동일합니다.

가능합니까? 나는 이 질문질소를 발견 했다 . 그러나 둘 다 나를 도와주지 않았다.

편집하다:

gnome-tweak-tool을 실행 한 후 왼쪽 패널의 "데스크톱"탭으로 이동 한 다음 "파일 관리자가 데스크탑을 처리하도록 설정"설정을 해제하십시오.

출처 : 우분투 포럼 .

불행히도 나는 Gnome-Tweak-Tool에서 이것을 찾을 수 없습니다 : 그놈 조정 도구

나는 dconf-editor아래를 사용하여 동일한 구성을 찾으려고 org.gnome.desktop.background했지만 모든 것이 다음과 같습니다.

요약 : 데스크탑 배경 그리기
설명 : 그놈이 데스크탑 배경을 그리도록합니다. 사용되지 않음 :이 키는 사용되지 않으며 무시됩니다.

또한 내 gnome-shell --version입니다 GNOME Shell 3.10.4.

이 요점 은의 출력입니다 xrandr. 첫 번째는 두 번째 모니터가 연결된 상태입니다. 두 번째는 그것없이입니다.


질소를 사용할 때 파일 관리자가 데스크탑을 넘기지 못하게 했습니까?
Kaz Wolfe

더 이상 Gnome-Tweak-Tool에서 옵션을 찾을 수 없었습니다. 질문에 추가 정보를 추가했습니다. 도움이
되길 바랍니다

@Whaaaaaat nitro는 13.10 이하 에만 해당됩니다 : /
blade19899

화면에 어떤 해상도가 있습니까?
Jacob Vlijm

1920x1080 (16 : 9) 모두 노트북은 19 인치입니다. 모니터 27 인치입니다.
byf-ferdy

답변:


10

트릭

메인 화면과 두 번째 화면에 대해 월페이퍼를 별도로 설정하는 것은 불가능합니다. 무엇을 할 수 그러나 할 것은 배경 화면을 설정하고,이 두 개의 화면을 통해 스팬하는 것입니다. 우리는 자동으로 선택한 두 바탕 화면의 스패닝 이미지를 생성하고 두 번째 화면의 연결 여부에 따라 바탕 화면과 그림 옵션을 자동으로 전환 할 수 있습니다.
보기 좋게 만들려면 두 화면 의 세로 화면 해상도가 동일해야합니다 (이 경우 상황).

여기에 이미지 설명을 입력하십시오

실제로

예비

이 솔루션에서 준비해야 할 작업은 다음과 같습니다.

  • 먼저 imagemagick를 설치하여 스패닝 이미지를 자동으로 만듭니다.

    sudo apt-get install imagemagick
    
  • 두 화면 모두에 대해 선택한 두 개의 별도 배경 이미지를 준비하십시오.

    • 치수는 화면의 치수와 정확히 일치 해야 합니다 (귀하의 경우 16 : 9).
    • 두 이미지 의 세로 해상도는 정확히 같아야합니다.

    그 전화를 screen_1.jpeg하고 screen_2.jpeg(정확히 그 이름을). 스크립트가 스패닝 이미지를 만듭니다.

  • 홈 디렉토리에 폴더를 작성하고 두 이미지를 모두 폴더에 복사하십시오.

  • 아래의 스크립트를 빈 파일에 복사하고 auto_wall.py준비한 두 이미지와 함께 로 저장하십시오 .

  • 스크립트의 헤드 섹션에는 다음과 같은 줄이 있습니다.

    screen_check = "HDMI-0 connected"
    

    필요한 경우, 대체 HDMI-0에 의해 <your_second_screenname>(명령을 실행 xrandr찾아 필요한 경우)

다음 명령으로 스크립트를 실행하고 백그라운드에서 계속 실행하십시오.

python3 /path/to/auto_wall.py

이제 두 번째 화면을 연결하면 두 번째 화면의 배경 화면이 몇 초 내에 screen_2.jpeg준비 상태로 전환됩니다 .

  • 모두 제대로 작동하면 시작 응용 프로그램에 추가하십시오.

스크립트

#!/usr/bin/env python3

import subprocess
import os
import time

curr_dir = os.path.dirname(os.path.abspath(__file__))
screen_check = "HDMI-0 connected"

single_picture = "'file://"+curr_dir+"/screen_1.jpeg'"
double_picture = "'file://"+curr_dir+"/span_image.jpeg'"

def execute_set(command):
    subprocess.call(["/bin/bash", "-c", command])

def execute_get(command):
    return subprocess.check_output(["/bin/bash", "-c", command]).decode("utf-8").strip()

def switch_tosingle():
    execute_set("gsettings set org.gnome.desktop.background picture-uri "+single_picture)
    execute_set("gsettings set org.gnome.desktop.background picture-options zoom")

def switch_todouble():
    if not os.path.exists(double_picture):
        create_spanimage()
    execute_set("gsettings set org.gnome.desktop.background picture-uri "+double_picture)
    execute_set("gsettings set org.gnome.desktop.background picture-options spanned")

def create_spanimage():
    image_1 = curr_dir+"/"+"screen_1.jpeg"
    image_2 = curr_dir+"/"+"screen_2.jpeg"
    span_image = curr_dir+"/"+"span_image.jpeg"
    execute_set("convert "+image_1+" "+image_2+" "+"+append "+span_image)

def check_ifconnected():
    command = "xrandr"
    check = execute_get(command)
    if screen_check in check:
        return True

def check_wallpaper():
    check = execute_get("gsettings get org.gnome.desktop.background picture-uri")
    if check == single_picture:
        return "single"
    elif check == double_picture:
        return "double"

def arrange():
    test = (check_ifconnected(), check_wallpaper())
    if test == (True, "double") or test == (False, "single"):
        pass
    elif test[0] == True:
        switch_todouble()
    else:
        switch_tosingle()

while True:
    arrange()
    time.sleep(5)

이미지 교체

배경 화면을 변경하려면 폴더에 복사 한 이미지 중 하나 또는 둘 다를 바꾸고 (이름은 기억하십시오) span_image.jpeg스크립트로 만든를 제거하십시오 .

우분투 14.04 및 14.10에서 테스트했으며 완벽하게 작동했습니다. Gnome을 사용한다는 사실은 차이가 없습니다.

키 조합으로 수동으로 배경 화면 설정 전환

어떤 이유로 외부 모니터를 연결 / 연결 해제 한 후 스팬 배경 화면으로 수동 전환하는 것을 선호하는 경우 마지막 세 줄을 바꿀 수 있습니다.

while True:
    arrange()
    time.sleep(5)

한 줄로 :

arrange()

"시스템 설정"> "키보드"> "바로 가기"> "사용자 정의 단축키"로 전환하려면 키보드 단축키를 추가하십시오.

다음 명령을 추가하십시오 :

python3 /path/to/auto_wall.py

당신의 선택의 핵심 조합에.


이것은 놀랍습니다. 최대한 빨리 확인하고 알려 드리겠습니다! 어쨌든 일해 주셔서 감사합니다!
byf-ferdy

@ byf-ferdy oops, 실수로 스크립트에 내 (테스트) 디렉토리를 남겨두고 수정했습니다.
Jacob Vlijm

훌륭한 일! 완벽하게 작동합니다!
byf-ferdy

1
좋은 질문 감사합니다! 이것이 내가 좋아하는 일입니다.
Jacob Vlijm

1

위의 답변 외에도이 서비스를 사용하여 두 개의 정확한 크기 이미지를 결합 할 수 있습니다 : http://www.photojoiner.net/

둘 이상의 이미지를 결합한 후에는 배경 설정 페이지에서 "스팬"옵션을 선택해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.