Sử dụng các hình nền khác nhau trên nhiều màn hình (Gnome 2 + Compiz)


42

Đây có vẻ là một câu hỏi đơn giản, nhưng tôi không thể tìm thấy bất kỳ câu trả lời thỏa mãn nào khi sử dụng Google hoặc Hỏi Ubuntu.

Vì vậy, tôi có một thiết lập ba màn hình. Về cơ bản những gì tôi muốn chỉ đơn giản là có một nền tảng khác nhau trên mỗi ba màn hình . Bây giờ tôi không nói về các máy tính để bàn ảo khác nhau (còn gọi là không gian làm việc) ở đây. Hầu hết các giải pháp tôi đã tìm kiếm là về các nền tảng khác nhau trên các không gian làm việc khác nhau . Tôi chỉ có một không gian làm việc, nhưng có ba màn hình, như vậy:

nhập mô tả hình ảnh ở đây

Màn hình 1 (trên cùng) là chiếc TV lớn của tôi được gắn vào tường phía trên hai màn hình bình thường của tôi.

Tôi đang sử dụng Gnome 2 với Compiz (còn gọi là gnome-session-fallback aka Gnome Classic (có hiệu ứng) trong danh sách thả xuống của trình quản lý đăng nhập) trên Ubuntu 13.04.

Tôi đã thử các phương pháp sau để thử đặt một nền khác nhau cho mỗi màn hình:

  1. ccsm(compiz-config-settings-manager), nghĩa là đặt nền thông qua trình quản lý cửa sổ (Compiz). Chính xác hơn, tôi đã sử dụng plugin Hình nền của Compiz.
  2. gnome-control-center, nghĩa là, đặt nền thông qua Cài đặt hệ thống Gnome. Chính xác hơn, tôi đã sử dụng bảng điều khiển Nền trong Cài đặt hệ thống Gnome.
  3. XDG_CURRENT_DESKTOP=Unity gnome-control-center, nghĩa là, giải quyết một nền thông qua Cài đặt hệ thống Gnome, nhưng bắt chước hành vi của Unity. Chính xác hơn, tôi đã sử dụng bảng Giao diện trong Cài đặt hệ thống Gnome.

Tuy nhiên, không có phương pháp nào trong số này dường như cho phép tôi chọn một nền khác nhau cho mỗi màn hình. Trong mỗi trường hợp, tôi chỉ có thể đặt một nền duy nhất (hoặc có thể một số nền sau đó có thể được đạp theo định kỳ hoặc được sử dụng cho các không gian làm việc khác nhau) cho cả ba màn hình. Sau đó, tôi thường có các tùy chọn như trung tâm , ô vuông , cắt hoặc tỷ lệ kiểm soát cách hiển thị nền đơn này trên ba màn hình.

Cách giải quyết mà tôi đã thực hiện cho đến nay là sử dụng Gimp để tạo một nền "lớn" bao gồm toàn bộ độ phân giải ảo của cả ba màn hình cùng nhau. Về cơ bản, tôi tạo một hình nền lớn có kích thước 3840x2160, trong đó tôi dán ba hình nền vào đúng chỗ. Sau đó, tôi đặt nền lớn này như là nền tảng duy nhất cho ba màn hình sử dụng khả năng (1) hoặc (3) ở trên, và sử dụng khoảng thời gian tùy chọn để span nền lớn này trên tất cả ba màn hình. Điều này dẫn đến ba nền khác nhau trên ba màn hình, với điều kiện ba nền nhỏ hơn được đặt chính xác trên ảnh nền lớn (Lưu ý: khả năng (2) không cung cấp tùy chọn nhịp ).

Tuy nhiên, điều này có vẻ như là một hack khủng khiếp để đạt được một điều đơn giản như đặt một nền tảng khác nhau cho mỗi màn hình của tôi. Nó cũng có một số nhược điểm:

  • Khi tôi muốn thay đổi cách sắp xếp màn hình (TV lớn ở trên có thể trượt theo hướng sang trái hoặc phải và tôi muốn điều chỉnh các vị trí màn hình phù hợp bằng cách sử dụng xrandrhoặc GUI liên quan như bảng Hiển thị trong Cài đặt hệ thống Gnome, để giữ cho chuột di chuyển trực quan), rõ ràng nền trên không trượt cùng với màn hình mà nó được hiển thị trên đó, có nghĩa là tôi chỉ nhìn thấy một phần của nền trên.
  • Nền lớn có một số vùng màu xám (không gian chết) ở các góc trên được tải vô dụng vào thời điểm đăng nhập bởi Compiz hoặc Gnome khi nền lớn được tải.
  • Tệ nhất là, khi tôi muốn thay đổi một trong ba nền, thì tôi phải chỉnh sửa toàn bộ nền lớn. Đây là quá nhiều công việc vì tôi chỉ đơn giản muốn thay đổi một nền (vâng, tôi biết về các lớp Gimp, nhưng vẫn vậy) - điều này nên được thực hiện với một vài cú nhấp chuột và không có chương trình xử lý ảnh nặng.

Điểm đầu tiên có nghĩa là cách giải quyết này không mạnh mẽ. Thứ hai có nghĩa là nó không hiệu quả. Và thứ ba có nghĩa là nó bị đau ở mông :)

Vì vậy, câu hỏi của tôi là:

Có cách nào đó - sử dụng Gnome 2 hoặc Compiz - chỉ đơn giản là nói với hệ thống rằng tôi muốn có một nền tảng khác nhau cho mỗi màn hình ? Đây sẽ là cách tiếp cận hợp lý với tôi, vì nó thực sự sẽ cho hệ thống biết ý định của tôi là gì. Nó cũng sẽ hiệu quả hơn.

Thực sự, cảm giác như đây không thể là một kịch bản hiếm gặp như vậy. Tôi sẽ nghĩ rằng nhiều người có nhiều màn hình; và ít nhất một số trong số đó phải thích có các hình nền khác nhau trên các màn hình này. Vì vậy, có thể đúng là không có giải pháp đơn giản và người dùng dự kiến ​​sẽ đưa ra các bản hack khủng khiếp như tạo nền tùy chỉnh của riêng họ với các chương trình nặng để làm cho nó hoạt động?


Điều này có đủ tốt không? Nếu không PM cho tôi.
Rinzwind

Hình nền và ý nghĩa nền thay đổi dữ dội từ câu hỏi này sang câu hỏi khác. Tôi sẽ để lại những cái có liên quan hơn là gnome và compiz. Nếu tôi thay đổi gnome thành kde, loại câu trả lời sẽ thay đổi hoàn toàn.
Braiam

1
Braiam, điều này không có nhiều ý nghĩa với tôi. Nếu câu hỏi "Làm cách nào để đặt hình nền / hình nền?" không xứng đáng với các thẻ "nền" hoặc "hình nền", vậy câu hỏi nào? Ngoài ra, các thẻ có vẻ vẫn ổn đối với các câu hỏi tương tự, chẳng hạn như askubfox.com/questions/26529/ , hoặc Askubfox.com/questions/365913/ . Nhưng sau đó, bạn dường như dành rất nhiều thời gian rảnh của mình cho Askubfox, vì vậy nếu điều đó làm bạn hạnh phúc ... thì tốt thôi;)
Malte Skoruppa

Thật buồn cười là hành vi mặc định của XFCE thực sự là những gì OP cần, và tôi ở trong trường hợp ngược lại: Tôi muốn nhận được với XFCE những gì OP nhận được với gnome. Ít nhất có một cách giải quyết dễ dàng trong hầu hết các trường hợp: đặt thủ công nền trên tất cả các màn hình để tham chiếu đến cùng một hình ảnh.
Stéphane Gourichon

Câu trả lời:


56

Bạn có thể dùng nitrogen

Để cài đặt nó, hãy chạy lệnh sau trong terminal:

sudo apt-get install nitrogen

nitrogenmặc định không có tệp máy tính để bàn khi được cài đặt, bạn cần chạy lệnh sau từ thiết bị đầu cuối để khởi động nó:

nitrogen

Làm thế nào để sử dụng nó?

Trong Tùy chọn của nó , thêm thư mục hình nền của bạn, sau đó ở dưới cùng [...] chọn Màn hình 1, 2, v.v., để đặt hình nền khác nhau cho mỗi màn hình:

nitơ

Để có thể đặt hình nền khác nhau cho mỗi màn hình, bạn phải vô hiệu hóa trình quản lý tệp để xử lý màn hình nền. Điều này có nghĩa là bạn sẽ không còn có thư mục trên máy tính để bàn.

Trong Gnome / Unity, cài đặt Công cụ Tweak Gnome :

sudo apt-get install gnome-tweak-tool

Sau đó mở Công cụ Tweak Gnome và trên phần Máy tính để bàn , đặt Biểu tượng trên Màn hình (trước đây có Trình quản lý tệp xử lý màn hình ) thành TẮT .

Và cuối cùng, để khôi phục hình nền mỗi lần bạn đăng nhập, hãy thêm lệnh sau:

nitrogen --restore

cho các ứng dụng khởi động của bạn .

Nguồn: TWUNAKU MONITOR MULTI-MONITOR (FIXES FLASH SCREEN FULL FIXES, SPAN WALLPAPER ACROSS MONITORS, XEM THÊM)


Tôi đã thử nghiệm phương pháp này với 2 màn hình trong Ubuntu 13.10 bằng Unity và nó hoạt động rất tốt!
Radu Rădeanu

Các bạn, hai điều: Đầu tiên, tôi lưu ý rằng các nền được đặt trong nitơ không được khôi phục tự động khi bạn đăng nhập. Để đạt được điều đó, chúng ta phải chạy nitrogen --restore. Vì vậy, để thay đổi vĩnh viễn, chúng ta phải tạo một tập lệnh thực thi chạy lệnh này khi đăng nhập, sử dụng Tự động khởi động. Vui lòng cập nhật câu trả lời của bạn với hướng dẫn về cách làm điều đó.
Malte Skoruppa


1
@MalteSkoruppa Bạn không cần phải tạo một tập lệnh thực thi chạy nitrogen --restorekhi đăng nhập. Chỉ cần mở Ứng dụng khởi động và thêm lệnh này ( nitrogen --restore). Đối với TênNhận xét viết bất cứ điều gì bạn muốn.
Radu Rădeanu

10
Cần lưu ý rằng tùy chọn này hiện được gọi là "Biểu tượng trên màn hình" thay vì "Có trình quản lý tệp xử lý máy tính để bàn"
anon58192932

7

Từ webupd8.org có vẻ như có 2 lựa chọn. (sao chép từ trang web cộng với một số điều bổ sung do tôi thêm vào):

Cài đặt Giao diện Ubuntu mặc định không cho phép bạn trải một hình nền lớn trên cả hai màn hình hoặc sử dụng một hình nền khác nhau cho mỗi màn hình, nhưng có hai ứng dụng bạn có thể sử dụng để thực hiện việc này.

  1. Cái đầu tiên là SyncWall. Cài đặt nó trong Ubuntu bằng các lệnh sau:

    sudo add-apt-repository ppa:nilarimogard/webupd8
    sudo apt-get update
    sudo apt-get install syncwall
    

    nhập mô tả hình ảnh ở đây

    Đây là cách máy tính để bàn của tôi trông như thế nào sau khi sử dụng SyncWall:

    nhập mô tả hình ảnh ở đây

    Tính năng hiện tại

    • Lập lịch: bạn có thể thay đổi hình nền khi khởi động, theo khoảng thời gian hoặc vào thời gian cố định
    • Khả năng sử dụng / xác định các phím nóng hệ thống để thay đổi hình nền theo cách thủ công.
    • Hỗ trợ đa màn hình cơ bản để chia sẻ hình nền trên các màn hình
    • Khả năng thêm một số hiệu ứng đặc biệt (chạm nổi, cạnh, mờ, ...) vào hình nền được hiển thị.
    • Khả năng xếp hạng hình ảnh để hiển thị chúng thường xuyên hơn (nếu thứ tự ngẫu nhiên được chọn)
    • Một số phương pháp thay đổi kích thước và điền vào nền
    • Đồng bộ hóa mạng thay đổi hình nền bằng cách xác định máy chủ và máy khách. Các tham số hiển thị được chia sẻ trên mạng (cùng loại thay đổi kích thước trên tất cả các máy tính để bàn)
    • Các tệp được hỗ trợ: SyncWall sử dụng các plugin Qt để tải hình ảnh, do đó, theo mặc định, nó có thể đọc các định dạng cơ bản như BMP, PNG, JPG. Bạn có thể thêm nhiều định dạng nếu cần bằng cách sử dụng các plugin cầu nối vào thư viện FreeImage hoặc Devil.
    • Đối với nền tảng linux, các trình quản lý cửa sổ phổ biến được hỗ trợ (Gnome, Gnome3, KDE3, KDE4, XFCE, ...).
  2. Một công cụ khác là nitơ Cài đặt nitơ , ngoài việc có thể đặt cùng một hình nền để mở rộng trên màn hình, nó còn có thể được sử dụng để đặt một hình nền khác nhau cho mỗi màn hình.

    Nitrogen có sẵn trong kho chính thức của Ubuntu vì vậy để cài đặt nó, hãy tìm kiếm nó trong Trung tâm phần mềm Ubuntu hoặc sử dụng lệnh sau:

     sudo apt-get install nitrogen
    

    Nitrogen không có tệp máy tính để bàn, vì vậy hãy chạy nó từ dòng lệnh:

    nitrogen
    

    nhập mô tả hình ảnh ở đây

    Để có thể đặt hình nền khác nhau cho mỗi màn hình, bạn phải vô hiệu hóa trình quản lý tệp để xử lý màn hình nền. Điều này có nghĩa là bạn sẽ không còn có thư mục trên máy tính để bàn.

    Trong Gnome / Unity, cài đặt Công cụ Tweak Gnome:

     sudo apt-get install gnome-tweak-tool
    

    Sau đó mở Công cụ Tweak Gnome và trên phần "Máy tính để bàn", đặt "Có trình quản lý tệp xử lý máy tính để bàn" thành TẮT.

    Và cuối cùng, để khôi phục hình nền mỗi lần bạn đăng nhập, hãy thêm "nitơ - dự phòng" vào các ứng dụng khởi động của bạn.

    Đây là cách máy tính để bàn của tôi trông như thế nào với các hình nền khác nhau cho mỗi màn hình:

    nhập mô tả hình ảnh ở đây

    Đặc trưng :

    • Hỗ trợ Multihead và Xinerama.
    • Nhớ lại chế độ để khôi phục hình nền thông qua kịch bản khởi động.
    • Sử dụng tiêu chuẩn freedesktop.org cho hình thu nhỏ.
    • Có thể đặt nền Gnome.
    • Các chế độ thiết lập dòng lệnh để sử dụng tập lệnh.
    • Giám sát inotify của thư mục duyệt.
    • Tải nhanh hình thu nhỏ - bảo tồn bộ nhớ (mới trong 1.3).
    • Chế độ cài đặt "Tự động" - xác định chế độ tốt nhất để đặt hình ảnh dựa trên kích thước của nó. (mới trong 1.4).
    • Hiển thị hình ảnh xem trước trong bố cục biểu tượng lát gạch (mới trong 1.5).

    Cài đặt qua trung tâm phần mềm


Nitơ dường như là lựa chọn tốt nhất. Syncwall dường như đang sử dụng bản hack mà bạn mô tả (hình ảnh lớn để phân chia trên một số màn hình.


2
Bạn có thực sự có nhiều màn hình ở đó không? Nó giống như. Không gian làm việc ...
Seth

Tôi vừa cài đặt syncwall; không có tùy chọn nào để đặt hình nền khác nhau cho mỗi màn hình ...
Radu Rădeanu

Các giải pháp nitơ, cũng được mô tả bởi Radu, hoạt động tuyệt vời! Cả hai bạn đều xứng đáng nhận được tiền thưởng :) Để quyết định câu trả lời nào tốt hơn tôi đang cố gắng đánh giá khả năng sử dụng của giải pháp Syncwall. Tuy nhiên tôi đã không thể làm cho nó hoạt động. Trong Tùy chọn -> Hiển thị tham số , tôi thấy tùy chọn "Mở rộng hình ảnh sau đó cắt (một tệp trên mỗi màn hình)", tuy nhiên tôi không thể tìm ra cách thực sự thêm một số tệp. Ngay cả với tùy chọn này được đặt, Syncwall chỉ sử dụng một tệp. Nó hoạt động tương tự như với "Mở rộng hình ảnh sau đó cắt (một tệp cho tất cả các màn hình)". Bạn có thể giải thích cách thêm một số tệp trong Syncwall không?
Malte Skoruppa

1
@Rinzwind Một điều tôi không hiểu: nếu syncwall dường như sử dụng hack được mô tả trong câu hỏi , lý do để thêm nó làm câu trả lời là gì? Câu hỏi rất rõ ràng: các hình nền khác nhau trên nhiều màn hình. Và một điều nữa: nếu bạn đã thử nitơ trên hai màn hình, bạn sẽ không nói rằng hình ảnh cuối cùng đã được photoshop; Hãy tự thử, tạo một màn hình in trên máy tính để bàn khi bạn sử dụng hai màn hình và bạn sẽ hiểu ý của tôi.
Radu Rădeanu

Syncwall dường như hoạt động nhưng không sao chép bố cục màn hình từ câu hỏi ban đầu .. nó không cho phép tôi xếp màn hình lên trên anotner mà chỉ trái và phải: /
bksunday

6

Plugin XFCE Desktop Manager (đi kèm trong gói xubfox-desktop) cho phép bạn chỉnh sửa từng màn hình trong khi vẫn giữ các thư mục trên máy tính để bàn của bạn.

Ảnh chụp màn hình 2 máy tính để bàn của tôi với trình quản lý mở: http://i.stack.imgur.com/Bzg7G.jpg

trong hộp màu vàng có ghi "Di chuyển hộp thoại này đến màn hình bạn muốn chỉnh sửa cài đặt."

Tôi xin lỗi, tôi không thể giúp đỡ nhiều hơn khi hướng dẫn cách cài đặt nó, cũng không phải là trình cắm thực tế được gọi là gì (tôi đã cố gắng tìm nó nhưng quyết định cài đặt lại toàn bộ gói thay thế) - Nhưng hy vọng điều này dẫn đến bạn hoặc ai đó đang đi đúng hướng và câu trả lời này có thể được cải thiện thông qua các chỉnh sửa.


2

Tôi rất vui khi thấy có một câu trả lời Gnome / Unity.

Điều đó nói rằng, tôi vẫn cảm thấy chuyển sang KDE có thể cung cấp một kinh nghiệm phù hợp hơn.

Trình quản lý cài đặt gốc của KDE không chỉ cho phép nhiều hình nền trên nhiều màn hình, nó cho phép chúng được đặt khác nhau cho từng màn hình VÀ Hoạt động ảo. .

Hơn nữa, nó xử lý việc cộng và trừ các màn hình đang hoạt động (thông qua việc cắm và rút HDMI) mà không gặp vấn đề gì !!


0
sudo apt-get install feh

feh --bg-center <path_to_big_image> --no-xinerama

Không cần ẩn biểu tượng của bạn khỏi máy tính để bàn


1
Chào mừng bạn đến hỏi Ubuntu! Tôi khuyên bạn nên chỉnh sửa câu trả lời này để mở rộng nó với các chi tiết cụ thể về những gì lệnh này làm. Một lệnh đơn giản hoặc chuỗi lệnh hiếm khi được coi là một câu trả lời. (Xem thêm Làm thế nào để tôi viết một câu trả lời hay? Để có lời khuyên chung về loại câu trả lời nào được coi là có giá trị nhất trên Hỏi Ubuntu.)
David Foerster
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.