Доступ к свойствам дисплея Kali Linux из командной строки [закрыто]

Ваша команда работает для меня:

$ sed -r '/user-type/{N;s/user-type: (.*)\n.*gth: .*([0-9]+).*$/\1 \2/}' file.txt
admin 8
auth 8

Однако, если преобразовать ввод в формат DOS, я получу вывод, который вы видите:

$ sed -r '/user-type/{N;s/user-type: (.*)\n.*gth: .*([0-9]+).*$/\1 \2/}' <(sed 's/$/\r/' <file.txt)
 8min
 8th

Одно из решений - преобразовать ваш входной файл в окончание строки в стиле unix.

Другое решение - настроить команду sed таким образом, чтобы она допускала использование символов \ r :

$ sed -r '/user-type/{N;s/user-type: (.*)\n.*gth: .*([0-9]+).*$/\1 \2/; s/\r//}' <(sed 's/$/\r/' <file.txt)
admin 8
auth 8

Или:

$ sed -r '/user-type/{N;s/user-type: ([^\r]*).?\n.*gth: .*([0-9]+).*$/\1 \2/}' <(sed 's/$/\r/' <file.txt)
admin 8
auth 8
3
14.03.2017, 00:23
2 ответа

Мне удалось решить проблему, найдя на ноутбуке комбинацию функциональных клавиш, которая переключает вывод внешнего дисплея, не имеющая отношения к самому Linux, но мне все равно было бы интересно найти если кто-нибудь знает способ решить проблему так, как я пытался изначально.

0
27.01.2020, 21:36

Что ж, я использую следующий сценарий в моей установке Arch Linux для автоматического переключения на внешний монитор при его подключении. Я мог бы попробовать этот сценарий (я считаю, что Kali также использует xrandr в качестве основного диспетчера отображения, поэтому он должен работать).

Единственное, что необходимо изменить, - это объявление переменных. Просто запустите xrandr из консоли, чтобы увидеть имена вашего встроенного и внешнего дисплея. И соответственно измените переменные INT и EXT .

Затем вы можете добавить этот сценарий для запуска при запуске (после запуска X) и все.

#!/usr/bin/env bash

# monitor constants
INT=eDP1
EXT=HDMI1

# keep polling xrandr 
while true; do
    # using internal monitor but external was connected
    if [ ! "${ACT}" == "${EXT}" ] && xrandr | grep "${EXT} connected"; then
        # setup xrandr to use external monitor only
        xrandr --output "${INT}" --off --output "${EXT}" --auto
        ACT="${EXT}"
    fi

    # using external monitor but it was disconnected
    if [ "${ACT}" == "${EXT}" ] && xrandr | grep "${EXT} disconnected"; then
        # setup xrandr to use internal monitor only
        xrandr --output "${EXT}" --off --output "${INT}" --auto
        ACT="${INT}"
    fi

    # sleep for a moment
    sleep 1
done
0
27.01.2020, 21:36

Теги

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