Mặc dù thiết lập màn hình kép là điều chúng ta coi là đương nhiên khi sử dụng Linux, nhưng mọi thứ không phải lúc nào cũng đơn giản là cắm và chạy. Bạn có thể đang sử dụng môi trường desktop không muốn hoạt động với phần cứng của mình hoặc có trình quản lý cửa sổ kiên quyết đặt một trong các màn hình của bạn với độ phân giải thấp hơn màn hình mà nó hỗ trợ. Đối với những vấn đề như thế này, XRandR sẽ chứng tỏ mình là một công cụ cực kỳ có giá trị.
Tìm hiểu độ phân giải được màn hình của bạn hỗ trợ
Bắt đầu bằng cách truy vấn XRandR để xem màn hình của bạn hỗ trợ độ phân giải nào:
xrandr -q
Trong ảnh chụp màn hình, chúng ta thấy một màn hình có tên HDMI-A-1 được kết nối với độ phân giải 1920×1080. “Screen 0” là không gian được sử dụng cho toàn bộ “bất động sản màn hình” mà bạn có trong cấu hình hiện tại của mình. Trong trường hợp này, nó có chiều rộng gấp đôi màn hình HDMI-A-1 (3840×1080) vì có một màn hình khác có cùng độ phân giải được đặt ở bên phải màn hình chúng ta đang xem. Bằng cách cuộn sâu hơn xuống đầu ra, chúng ta có thể thấy màn hình thứ hai được gọi là DP-1.
Dấu hoa thị (*) bên cạnh độ phân giải thể hiện chế độ đã chọn. Trong giao thức X, độ phân giải luôn được gắn nhãn là “modes”. Dấu cộng (+) bên cạnh độ phân giải là điều mà XRandR tin là chế độ tối ưu cho màn hình cụ thể đó.
Bạn sẽ nhận thấy khi nhập xrandr -q vào terminal của mình, màn hình của bạn sẽ luôn có tiền tố loại cáp mà chúng sử dụng để kết nối với máy tính (ví dụ, HDMI, DP, VGA, DVI). Điều này đảm bảo rằng tên hiển thị không quá phức tạp.
Thiết lập XRandR đúng cách
Để đơn giản, phần còn lại của hướng dẫn này sẽ cho rằng bạn đang sử dụng hai màn hình DisplayPort (DP) có độ phân giải tối ưu ở 1080p (1920×1080).
Hãy mở rộng hai màn hình của bạn để tìm hiểu ngay cách XRandR hoạt động:
xrandr --auto --output DP-0 --mode 1920x1080 --left-of DP-1
xrandr --auto --output DP-1 --mode 1920x1080
Dưới đây là tóm tắt ý nghĩa của các lệnh này:
- Flag --auto được sử dụng để kích hoạt một thiết bị đã bị vô hiệu hóa đã được kết nối hoặc vô hiệu hóa một thiết bị không còn được phát hiện. Điều này giúp khắc phục một số vấn đề trong đó màn hình có thể không hiển thị bất kỳ thứ gì.
- Lệnh đầu tiên yêu cầu XRandR đặt màn hình được kết nối với interface DisplayPort chính trên phần cứng đồ họa của bạn để đặt độ phân giải 1920×1080 và hướng màn hình sang bên trái của màn hình khác. Nếu đây không phải là điều bạn muốn làm, hãy đổi --left-of thành --right-of. Thay vào đó, bạn cũng có thể sử dụng --left-of trong lệnh thứ hai để đạt được điều tương tự.
- Lệnh thứ hai chỉ cần đặt độ phân giải của màn hình thứ hai thành 1920×1080.
Bạn muốn mở rộng màn hình theo chiều dọc? Chỉ cần chuyển --left-of hoặc --right-of thành --above hoặc --below.
Bạn muốn chiếu cả hai màn hình? Thay vào đó hãy sử dụng --same-as. Ví dụ, nếu bạn muốn DP-1 phản chiếu DP-0, đây là nội dung bạn sẽ nhập:
xrandr --auto --output DP-1 --same-as DP-0
Điều này đặc biệt hữu ích khi bạn muốn sử dụng máy chiếu trên máy tính xách tay hoặc thứ gì đó tương tự.
Nếu bạn muốn đặt tốc độ refresh cụ thể, hãy sử dụng flag --rate:
xrandr --auto --output DP-0 --mode 1920x1080 --rate 60
Hãy nhớ rằng, XRandR không phải là phép thuật. Nó không thể đặt tốc độ refresh mà nó không biết màn hình của bạn hỗ trợ. Ví dụ, bạn không thể biến màn hình 60Hz của mình thành màn hình chơi game cực kỳ hấp dẫn 144Hz chỉ bằng một lệnh đơn giản trừ khi đó là tốc độ refresh mà nó hỗ trợ. Truy vấn đã thực hiện ngay từ đầu sẽ cho bạn biết trong một cột gọn gàng về tốc độ refresh có sẵn cho một độ phân giải nhất định với phần cứng cụ thể của bạn.
Ngoài ra, hãy nhớ rằng môi trường desktop hoặc trình quản lý cửa sổ mà bạn hiện đang sử dụng có thể không cho phép bạn đặt tốc độ refresh cao hơn tốc độ tối đa của màn hình chậm nhất.
Để tắt màn hình, chỉ cần sử dụng --off:
xrandr --output DP-1 --off
Lưu ý cách ví dụ không bao gồm --auto ở đây. Nó không thực sự cần thiết vì nó chỉ đóng vai trò dự phòng để bật những màn hình có thể bị tắt nhưng được kết nối. Đây không phải là điều chúng ta muốn làm lúc này.
Để bật lại màn hình, hãy đặt chế độ của màn hình bằng flag --auto:
xrandr --auto --output DP-1 --mode 1920x1080
Duy trì cài đặt XRandR trong quá trình khởi động lại
Bây giờ, bạn đã thiết lập màn hình của mình chính xác theo cách bạn muốn, nhưng đừng vội khởi động lại. Máy tính của bạn sẽ mất các cài đặt này ngay khi khởi động lại. Để ngăn chặn điều này, chúng ta sẽ phải viết một script.
Tạo một file có tên Monitorsetup.sh trong thư mục chính của bạn. Để đơn giản, chúng ta sẽ quay lại ví dụ đầu tiên trong đó chúng ta thiết lập hai màn hình DisplayPort có độ phân giải 1080p, với DP-0 là màn hình ở bên trái. Trong trường hợp đó, đây là những gì chúng ta điền vào file:
#!/bin/bash
xrandr --auto --output DP-0 --mode 1920x1080 --left-of DP-1
xrandr --auto --output DP-1 --mode 1920x1080
Nếu bạn nghĩ đến một lệnh khác, hãy thay thế những gì ví dụ đã viết bằng lệnh đó và lưu file. Chỉ cần đảm bảo rằng dòng trên cùng (#!/bin/bash) được giữ nguyên.
Điều đó giúp đảm bảo rằng Linux sử dụng đúng shell để thực thi script của bạn.
Đừng quên mở lại terminal của bạn và làm cho script này có thể thực thi được:
chmod a+x ~/monitorsetup.sh
Tất cả những gì bạn phải làm bây giờ là đặt script này làm chương trình khởi động trong môi trường desktop mà bạn chọn.
Có tùy chọn GUI cho việc này không?
Mọi môi trường desktop đều có giao diện người dùng cho XRandR. Bạn chỉ cần xem qua cài đặt của mình. Nếu biết nơi đặt độ phân giải trên màn hình của mình, tức là bạn đã tìm thấy GUI.
Nhưng nếu bạn đang sử dụng trình quản lý cửa sổ hoặc một môi trường thực sự lạ, bạn có thể không có giao diện người dùng XRandR được cài đặt sẵn. Trong những trường hợp này, bạn có thể muốn dùng thử ARandR, một giao diện đơn giản, dễ hiểu và thậm chí còn lưu các script tạo sẵn cho bạn.
Để sử dụng nó, hãy mở ứng dụng và điều hướng đến menu Outputs. Từ đó, chỉ cần đặt độ phân giải và hướng bạn muốn cho mỗi đầu ra.
Lưu các thay đổi của bạn và tận hưởng!