Chuyển màn hình từ dòng lệnh


21

Vì tôi đã tìm thấy một phương pháp khác để đạt được mục tiêu của mình và vì không có câu trả lời nào được đăng lên câu hỏi trước đó của tôi, tôi đã thay đổi câu hỏi để phù hợp với câu trả lời tôi tìm thấy.

Có cách nào để tắt màn hình máy tính xách tay của tôi và bật màn hình ngoài (và ngược lại) hoàn toàn từ dòng lệnh không?


Tôi chỉ loay hoay với điều tương tự chính xác và tôi vấp phải câu hỏi này mà bạn đã hỏi chỉ 7 phút trước. Đó là friggin tuyệt vời. Tôi hy vọng bạn nhận được một câu trả lời.
JD Long

Tôi biết rằng bạn có thể thả một cơ bản xorg.confvào thư mục root ( /root/yorg.conf.new), nếu bạn khởi động vào chế độ recovery và thực thi X --configure(hoặc tương tự).
Bobby

vấn đề (ít nhất là đối với tôi) là tôi không muốn viết ra một xorg.conf bằng tay. Tôi muốn chuyển các cài đặt hiện tại của mình sang định dạng xorg.conf sau đó thay đổi cài đặt với GUI và sau đó kết xuất các cài đặt đó vào một tệp. Sau đó, tôi có thể viết một kịch bản để thay đổi giữa hai cài đặt thực sự dễ dàng. Ngay bây giờ tôi phải vào GUI và bấm nửa tá lần để thay đổi cài đặt của mình.
JD Long

@JD Long: Đó chính xác là những gì tôi đang cố gắng làm. Hãy chắc chắn để viết ở đây nếu bạn tìm thấy một cách. Hai thứ duy nhất còn thiếu cho tập lệnh của tôi là các tệp xorg.conf và một lệnh để làm mới màn hình hiện tại (mà không phải thực hiện khởi động lại gdm).
Malabarba

Tôi đã thử nghiệm với disper ngày hôm nay ( willem.engen.nl/projects/disper ). Tệp trợ giúp hiển thị tùy chọn -p được cho là xuất. Chỉ có công tắc đó không được thực hiện. trombone buồn
JD Long

Câu trả lời:


28

Với các lệnh

xrandr --output VGA-0 --auto
xrandr --output LVDS --off 

Màn hình tự động chuyển sang màn hình bên ngoài. Nó thậm chí không cần năng lực sudo. Để tìm ra tên của màn hình chỉ cần làm:

xrandr -q

Mà nên cho một cái gì đó như:

VGA-0 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 338mm x 270mm
...
LVDS connected (normal left inverted right x axis y axis)
...

Mở rộng màn hình có thể đạt được theo cách tương tự.


Tôi nhận được thông báo "Không thể mở màn hình" khi chạy xrandr (với bất kỳ cờ nào). Nguyên nhân có thể là gì?
brandizzi

4
Nếu xrandr -qcho LVDS1& VGA1: Chỉ bên ngoài : xrandr --output VGA1 --auto --output LVDS1 --off. Mở rộng bên trái, nội bộ chính : xrandr --output VGA1 --auto --left-of LVDS1 --output LVDS1 --auto --primary. Mở rộng bên trái, bên ngoài chính : xrandr --output VGA1 --auto --left-of LVDS1 --primary --output LVDS1 --auto. Chỉ nội bộ : xrandr --output VGA1 --off --output LVDS1 --auto.

câu trả lời tốt đẹp Có lẽ đáng để giải thích cho người mới bắt đầu, cái thường sẽ là bên trong và bên ngoài giữa VGA và LVDS?
Matifou

4

Điều này chắc chắn KHÔNG phải là một câu trả lời trực tiếp cho câu hỏi của bạn. Nhưng tôi thấy nó hữu ích trong trường hợp sử dụng của tôi. Đây không phải là xuất tệp cấu hình, nhưng nó cho thấy cách tự động phân tán trong tập lệnh shell. Tôi đang thiết lập tính năng này để chạy mỗi khi tôi dock / un-dock và dường như nó đang khắc phục các sự cố hiển thị của tôi khi cắm và tháo máy tính xách tay của tôi:

Bạn phải cài đặt trình phân tán và Python.

#!/bin/sh
#
# Detect displays and move panels to the primary display
#

PYTHON=python2.6
DISPER=/usr/bin/disper

# disper command will detect and configure monitors
$PYTHON $DISPER --displays=auto -e -t left

# parse output from disper tool how many displays we have attached
# disper prints 2 lines per displer
lines=`$PYTHON $DISPER -l|wc -l`

display_count=$((lines / 2))

echo $display_count

echo "Detected display count:" $display_count

# Make sure that we move panels to the correct display based
# on the display count
if [ $display_count = 1 ] ; then
    echo "Moving panels to the internal LCD display"
    gconftool-2 \
    --set "/apps/panel/toplevels/bottom_panel_screen0/monitor" \
    --type integer "0"
    gconftool-2 \
    --set "/apps/panel/toplevels/top_panel_screen0/monitor" \
    --type integer "0"
    sleep 5
    pkill gnome-panel
else
    echo "Moving panels to the external display"
    gconftool-2 \
    --set "/apps/panel/toplevels/top_panel_screen0/monitor" \
    --type integer "1"
    gconftool-2 \
    --set "/apps/panel/toplevels/bottom_panel_screen0/monitor" \
    --type integer "1"
    sleep 5
    pkill gnome-panel
fi

Disper có vẻ như là một công cụ hữu ích. Tôi sẽ xem xét nó và xem liệu tôi có thể làm cho nó phù hợp với trường hợp của tôi không. Sự khác biệt duy nhất là tôi muốn vô hiệu hóa màn hình của máy tính xách tay, thay vì mở rộng nó. Nó mượt hơn một chút trên máy tính xách tay cấp thấp của tôi và nó tự động xử lý các tấm nền.
Malabarba

Suy nghĩ thứ hai, card màn hình ati của tôi có thể không được hỗ trợ, vì họ chỉ yêu cầu hỗ trợ nvidia.
Malabarba

Ok, trang diper dẫn tôi đến trang này: thinkwiki.org/wiki/Sample_Fn-F7_script Hóa ra việc chuyển đổi màn hình bằng lệnh xrandr khá dễ dàng.
Malabarba

cảm ơn vì đã đăng liên kết xrandr. Tôi sẽ điều tra điều đó. Tôi đang loay hoay với những thứ tương tự. FWIW, máy tính xách tay của tôi có thẻ Intel và tôi đang sử dụng disper mà không gặp vấn đề gì.
JD Long
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.