Несколько контролируют зеркально отраженный как значение по умолчанию

У меня есть ноутбук с видеокартой Intel, и дома я соединяю ее на внешнем мониторе. Существует ли способ иметь мониторы, зеркально отраженные по умолчанию? Теперь каждый раз, когда я загружаюсь, я должен реконфигурировать таким образом.

спасибо!

1
задан 2 January 2015 в 16:07

1 ответ

1. Чистый и простой

Я думаю, самое чистое и самое легкое были бы к:

  1. Узнайте оба псевдонима с помощью xrandr (ищите "соединенную" строку),
  2. Настройки Открытой системы> "Клавиатура"> "Ярлыки"> "Пользовательские Ярлыки". Нажмите "+" и добавьте команду:

    xrandr --output <screen_name1> --auto --same-as <screen_name2>
    

    К сочетанию клавиш по Вашему выбору.

Тем путем необходимо было бы только нажать сочетание клавиш для активации зеркально отраженных экранов.

2. Не имея необходимость искать псевдоним

Немного более сложный должен был бы сделать то же, но позволить сценарию узнать оба псевдонима:

#!/usr/bin/env python3
import subprocess

output = subprocess.check_output(["/bin/bash", "-c", "xrandr"]).decode("utf-8").split()
connected = [output[i-1] for i in range(len(output)) if output[i] == "connected"]
command = "xrandr --output "+connected[0]+" --auto --same-as "+connected[1]
subprocess.Popen(["/bin/bash", "-c", command])

Сохраните сценарий как mirror.py, выполните его командой:

python3 /path/to/mirror.py

под сочетанием клавиш, как в первой опции.

3. Полностью автоматически

Если Вы хотите все это обошедшееся без какое-либо действие с Вашей стороны, запускаете скрипт ниже в фоновом режиме. Это проверяет каждые 5 секунд, подключен ли второй монитор и устанавливает его на зеркальный раз так.

Сценарий

#!/usr/bin/env python3
import subprocess
import time

def screens():
    output = subprocess.check_output(["/bin/bash", "-c", "xrandr"]).decode("utf-8").split()
    return [output[i-1] for i in range(len(output)) if output[i] == "connected"]

todo = True

while True:
    scr = screens()
    if len(scr) == 2 and todo == True:
        command = "xrandr --output "+scr[0]+" --auto --same-as "+scr[1]
        subprocess.Popen(["/bin/bash", "-c", command])
        todo = False
    elif len(scr) == 1 and todo == False:
        todo = True
    time.sleep(5)

Как использовать

  • Скопируйте сценарий в пустой файл, сохраните его как mirror_screen.py
  • Протестируйте его путем перезапуска ноутбука (разъединенный экран)
  • Запустите скрипт командой:

    python3 /path/to/mirror_screen.py
    
  • Подключите второй монитор, чтобы видеть, переключается ли он автоматически на зеркальный.

  • Если все хорошо работает, добавьте команду (выше) к Вашим приложениям запуска:
    Тире> Приложения Запуска> Добавляет
5
ответ дан 3 December 2019 в 06:42

Другие вопросы по тегам:

Похожие вопросы: