Bạn không sai với hành động đó --transform
!
Vấn đề là bạn không chỉ muốn dịch chuyển màn hình sang phải mà còn cần thu nhỏ màn hình một nửa theo trục ngang. Để làm như vậy, hãy tham khảo xrandr
hướng dẫn nơi chúng tôi đọc:
- biểu thức a, b, c, d, e, f, g, h, i
(...)
Nói cách khác, tọa độ thiết bị (x 'y') của pixel được chuyển đổi là:
x' = (ax + by + c) / w' and
y' = (dx + ey + f) / w' ,
with w' = (gx + hy + i) .
Do đó, để dịch chuyển đầu ra sang phải, hãy giảm tỷ lệ trục X xuống 2, để nguyên trục Y và không thực hiện bất kỳ thao tác nào khác (xoay, đảo ngược, v.v.)
xrandr --output LVDS1 --transform 2,0,-1920,0,1,0,0,0,1
Ở trên tôi giả sử độ phân giải bình thường của bạn là 1920x1080 (bạn đã đề cập đến full hd và đây là cách họ gọi nó). Rõ ràng là một tên hiển thị thay đổi cho bạn.
Nếu chỉ một phần nhỏ của màn hình bị hỏng (không phải một nửa) thì bạn cần thực hiện một số tính toán:
a = 1/(1-broken_fraction)
c = (1-a)*resolution
vì vậy nếu hỏng là 1/3 ta có a = 1,5, c = -960:
xrandr --output LVDS1 --transform 1.5,0,-960,0,1,0,0,0,1
Tất nhiên bạn có thể thay đổi độ phân giải với cùng một lệnh trong trường hợp đó có thể cần tính toán lại.