私はラップトップとモニターを持っています。ほとんどの場合、ラップトップはHDMI経由でモニターに接続されます。私はUbuntu Gnome 14.04を使用していますが、ここに私が欲しいものがあります:
それは可能ですか? この質問 と 窒素 が見つかりました。しかし、両方とも助けにはなりませんでした。
Gnome-Tweak-toolを実行した後、左側のパネルの[デスクトップ]タブに移動し、[ファイルマネージャーにデスクトップを処理させる]設定をオフにします。
ソース: buntu Forums 。
残念ながら、Gnome-Tweak-Toolでこれを見つけることができません。
dconf-editor
の下でorg.gnome.desktop.background
を使用して同じ構成を見つけようとしましたが、それは次のとおりでした:
概要:デスクトップの背景を描く
説明:GNOMEにデスクトップの背景を描画させます。 非推奨:このキーは非推奨であり、無視されます。
また、私のgnome-Shell --version
はGNOME Shell 3.10.4
です。
この要点で はxrandr
の出力です。 1つ目は、2番目のモニターを接続した状態です。 2番目はそれなしです。
メイン画面とセカンド画面に別々に壁紙を設定することは不可能のようです。 canでできることは、壁紙を設定して、2つの画面にまたがるようにすることです。選択した2つの壁紙のスパニングイメージを自動的に作成し、2番目の画面が接続されているかどうかに応じて、壁紙と画像オプションを自動的に切り替えることができます。
見た目を良くするには、少なくとも両方の画面のvertical画面解像度が同じであることが必要です。これはあなたの状況に当てはまります。
準備
このソリューションでは、次の準備作業が必要です。
まず、imagemagickをインストールして、自動的にスパニングイメージを作成します。
Sudo apt-get install imagemagick
両方の画面に、選択した2つの個別の背景画像を準備します。
それらをscreen_1.jpeg
およびscreen_2.jpeg
(正確にそれらの名前)と呼びます。スクリプトがスパニングイメージを作成します。
ホームディレクトリにフォルダーを作成し、両方の画像をそのフォルダーにコピーします。
以下のスクリプトを空のファイルにコピーし、準備した2つの画像とともに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
を削除します。
Ubuntu 14.04と14.10でテストしましたが、完全に機能しました。 Gnomeを使用するという事実は、違いを生むべきではありません。
何らかの理由で、外部モニターの接続/切断後にスパンド壁紙に手動で切り替える場合は、最後の3行を置き換えることができます。
while True:
arrange()
time.sleep(5)
一行で:
arrange()
切り替えを行うためのキーボードショートカットを追加します:「システム設定」>「キーボード」>「ショートカット」>「カスタムショートカット」
コマンドを追加します。
python3 /path/to/auto_wall.py
お好みのキーの組み合わせに。
上記の回答に加えて、このサービスを使用して2つの正確なサイズの画像を結合できます。 http://www.photojoiner.net/
複数の画像を結合した後、背景設定ページで「スパン」オプションを選択する必要があります。