Nhiều hình nền màn hình trong Linux?


8

Làm cách nào tôi có thể hình nền nhiều màn hình trong Linux theo cách tự động?

Về cơ bản, cách tôi thường làm là mở GIMP, sau đó lấy một số hình ảnh và ghép nó lại thành một hình ảnh lớn duy nhất trải rộng trên tất cả các màn hình. Cách tiếp cận này hoạt động, nhưng nó có thể tốn thời gian vì vậy tôi tự hỏi liệu có tồn tại một ứng dụng có thể chăm sóc điều này không?

Một số tính năng mà tôi sẽ quan tâm:

  1. Có thể thay đổi kích thước một hình ảnh duy nhất để che cả hai màn hình chẳng hạn.
  2. Cách thay đổi kích thước hình ảnh khác nhau, chẳng hạn như giữ nguyên tỷ lệ khung hình hay không
  3. Kết hợp nhiều hơn 1 hình ảnh lại với nhau để một màn hình sẽ hiển thị một hình ảnh và màn hình kia sẽ hiển thị một hình ảnh khác
  4. Tôi đang sử dụng xinerama (Thực sự là Nvidia Twinview)
  5. Có khả năng thực hiện một số sửa đổi cơ bản cho hình ảnh, chẳng hạn như:

    • Cắt một hoặc hình ảnh khác để toàn bộ hình ảnh sẽ lấp đầy màn hình
    • Khả năng di chuyển hình ảnh xung quanh để nó có thể được căn chỉnh
    • Sẽ thật tuyệt khi có thể chia tỷ lệ từng hình ảnh một cách riêng biệt

Tôi đã thực hiện một số tìm kiếm và nói chung những gì tôi tìm thấy là:

  1. Hình ảnh duy nhất làm hình nền trải dài qua hai màn hình
  2. Hai hình ảnh, một cho mỗi màn hình nhưng không có khả năng sửa đổi hình ảnh / vv
  3. Vài người khác, nhưng về cơ bản, hầu hết tôi thấy không thể sử dụng nhiều hình ảnh với một hình ảnh trên mỗi máy tính để bàn và sửa đổi độc lập từng hình ảnh để phù hợp / hoạt động trên màn hình đó và cũng không thể chuyển đổi giữa một hình ảnh trải dài trên tất cả màn hình hoặc nhiều hình ảnh .

Tôi nghĩ Xinerama không tương thích với Twinview. Ít nhất, không phải trên máy tính của tôi. Bạn có thực sự sử dụng cả hai bằng cách nào đó? Ngoài ra, bạn sử dụng môi trường máy tính để bàn nào? (KDE 3? 4? Gnome? V.v.)
David Z

Tôi hiểu rằng Twinview "mô phỏng" một số điều khiển Xinerama để các ứng dụng sẽ biết không tối đa hóa màn hình chéo 2+, v.v ... Tôi hoàn toàn không sử dụng môi trường máy tính để bàn, ngay bây giờ thiết lập hiện tại của tôi chỉ là Openbox + trăn + Conky. Hiện đang sử dụng feh để đặt hình nền của tôi.
Pharaun

Câu trả lời:


4

Công cụ 'nitơ' có thể làm chính xác những gì bạn cần. Khi bạn chạy công cụ, trước tiên bạn thêm một hoặc nhiều thư mục chứa hình ảnh, sau đó thiết lập hình nền theo cách bạn muốn, bao gồm đặt các hình ảnh khác nhau trên hai màn hình.

Bây giờ, nitơ lưu trữ thông tin này trong .config / nitơ / bg-yet.cfg

Bạn khôi phục cài đặt đã lưu bằng cách sử dụng 'nitơ - thay thế', nhưng tất nhiên, bạn cũng có thể thay đổi tệp đó trước, sau đó gọi nitơ.


3

Đây là một chủ đề cũ nhưng thấy nó fehkhông được thể hiện đúng, tôi cảm thấy bắt buộc phải làm như vậy. Vấn đề với Nitrogen là một khi bạn có nhiều màn hình, bạn không thể tự động hóa cách bạn khớp hình ảnh với từng màn hình.

feh --bg-fill ~/Pictures/Wallpapers/MyWallpaper.jpg

sẽ phù hợp với hình ảnh cho nền của bạn mà không làm mất tỷ lệ khung hình. Nếu bạn đặt hai tệp, tệp đầu tiên sẽ chuyển đến màn hình thứ nhất, tệp còn lại đến tệp thứ hai, như thế này:

$ feh --bg-center imagePathForFirstMonitor imagePathForSecondMonitor

Bạn cũng có thể chọn ngẫu nhiên hình ảnh bạn chọn bằng cách sử dụng tùy chọn -z và * cho nội dung thư mục, như sau:

feh --bg-fill -z ~/Pictures/Wallpapers/*
# This command puts a random image for each monitor you have

fehlà cùng một trình xem hình ảnh và có vô số tùy chọn khác mà bạn có thể khám phá bằng cách man fehhoặc đọc các nguồn dưới đây.

Nguồn:

https://wiki.archlinux.org/index.php/feh

https://feh.finalrewind.org/


Làm cách nào tôi có thể nhận được danh sách các đường dẫn đến tệp màn hình của mình?
dùng3598726

Xin lỗi tôi sẽ chỉnh sửa nó, nó phải là đường dẫn hình ảnh cho mỗi màn hình. Vì vậy, bạn chỉ cần đặt các vị trí hình ảnh
Ege

2

Tôi không biết ứng dụng như vậy, nhưng bạn có thể viết một tập lệnh thực hiện những gì bạn muốn bằng ImageMagick để chỉnh sửa / soạn ảnh và fehđặt hình nền. Ví dụ : lệnh của ImageMagick này montage:

montage a.jpg b.jpg c.jpg -geometry +0+0 -tile x1 -resize x1080 out.jpg

sẽ soạn các tập tin a.jpg, b.jpgc.jpgvào một hình ảnh duy nhất ( out.jpg) sau khi thay đổi kích thước mỗi đầu vào là 1080px cao.

Hy vọng điều này sẽ giúp, ít nhất là cho đến khi bạn tìm thấy một giải pháp tốt hơn.

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.