GNU/Linux >> Belajar Linux >  >> Linux

Linux – Alat Untuk Menerapkan Konfigurasi Randr Secara Otomatis Saat Tampilan Eksternal Dicolokkan?

apakah ada alat yang memungkinkan seseorang untuk:

  • ingat konfigurasi RandR saat ini (posisi, orientasi, resolusi, dll.) berdasarkan per-monitor,
  • secara otomatis menerapkan konfigurasi bagus yang terakhir diketahui segera setelah layar dicolokkan, tanpa perlu mengotak-atik applet atau xrandr(1)?

Konfigurasi harus diterapkan per pengguna, per tampilan.

Jika tidak ada alat seperti itu di alam liar, saya ingin mengumpulkannya sendiri, tetapi sejauh yang saya bisa lihat, tidak ada cara untuk mengatakan bahwa monitor telah dicolokkan. Apakah saya harus melakukan polling dengan xrandr -q sesekali untuk mengetahui bahwa output terhubung atau terputus, atau adakah cara yang lebih efisien untuk melakukannya? Bisakah udev disetel untuk melakukan hal itu?

Jawaban yang Diterima:

Saya menggunakan skrip sederhana (buatan sendiri) ini yang terus melakukan polling RandR dan beralih antara LVDS1 dan VGA1 saat VGA tersambung/terputus. (Untuk HDMI output, dalam file skrip berikut, ubah semua VGA1 ke HDMI1 )

Ini adalah solusi kotor, namun berfungsi dengan baik.

Ini disesuaikan untuk pengaturan saya:kemungkinan besar Anda perlu mengubah nama keluaran RandR (LVDS1 dan VGA1 ) dan tidak seperti saya, Anda mungkin akan baik-baik saja dengan mode default RandR untuk VGA.

#!/bin/bash

# setting up new mode for my VGA
xrandr --newmode "1920x1080" 148.5 1920 2008 2052 2200 1080 1089 1095 1125 +hsync +vsync
xrandr --addmode VGA1 1920x1080

# default monitor is LVDS1
MONITOR=LVDS1

# functions to switch from LVDS1 to VGA and vice versa
function ActivateVGA {
    echo "Switching to VGA1"
    xrandr --output VGA1 --mode 1920x1080 --dpi 160 --output LVDS1 --off
    MONITOR=VGA1
}
function DeactivateVGA {
    echo "Switching to LVDS1"
    xrandr --output VGA1 --off --output LVDS1 --auto
    MONITOR=LVDS1
}

# functions to check if VGA is connected and in use
function VGAActive {
    [ $MONITOR = "VGA1" ]
}
function VGAConnected {
    ! xrandr | grep "^VGA1" | grep disconnected
}

# actual script
while true
do
    if ! VGAActive && VGAConnected
    then
        ActivateVGA
    fi

    if VGAActive && ! VGAConnected
    then
        DeactivateVGA
    fi

    sleep 1s
done

Langkah Lengkap:

  1. Letakkan skrip di atas (homemadeMonitor.sh ) ke direktori pilihan Anda

  2. Jadikan file .sh dapat dieksekusi dengan mengetikkan perintah berikut di terminal

    chmod +x homemadeMonitor.sh

  3. Jalankan file .sh

    ./homemadeMonitor.sh


Linux
  1. Alat Penandaan Mp3 Manakah Untuk Linux??

  2. Blender – Alat Pembuatan 3D Sempurna untuk Linux

  3. Periksa file konfigurasi Linux untuk kesalahan sintaks

  1. Apa alat perekam layar favorit Anda untuk Linux?

  2. Linux – Alat Untuk Mengukur Kualitas Entropi?

  3. Krita – Alat Melukis Profesional Luar Biasa untuk Linux

  1. Lynis – Alat Audit Keamanan Otomatis untuk Server Linux

  2. Alat pembanding kode untuk Linux

  3. Alat untuk menerapkan konfigurasi RandR secara otomatis saat layar eksternal terpasang