Как сохранить настройки клавиатуры для сеанса xrdp?

find может работатьgrep:

find. -type f -name '*.out' \
    -exec grep -q -e 'pattern' {} \; \
    -execdir somescript.sh \;

Это позволит найти путь к любому обычному файлу, имя которого заканчивается на .out. Для каждого найденного пути он будет использовать grep, чтобы определить, соответствует ли шаблон какой-либо строке в файле. Если это так, -execdirиспользуется для выполнения somescript.shс каталогом найденного файла в качестве его рабочего каталога.

Обратите внимание, что somescript.shдолжен быть доступен где-то в $PATH, чтобы это работало, и что сценарий будет выполняться один раз для каждого найденного файла, а не один раз для каждого каталога, содержащего .outфайл с соответствовать.

Чтобы выполнить сценарий только один раз в каждом каталоге, содержащем .outфайл с совпадением:

find. -type d -exec sh -c '
    for dirpath do
        if grep -q -e "pattern" "$dirpath"/*.out 2>/dev/null; then
            ( cd "$dirpath" && exec somescript.sh )
        fi
    done' sh {} +

Это использует findдля поиска каталогов, а не файлов. Для найденных пакетов каталогов выполняется короткий сценарий оболочки -строки. сценарий оболочки пытается сопоставить шаблон со всеми .outфайлами в каждом каталоге (, исключая скрытые, в то время как findпо-прежнему будет искать скрытые каталоги ), и если какой-либо файл совпадает, запускается подоболочка, в которой меняется рабочий каталог и выполняется скрипт somescript.sh.

0
26.05.2020, 19:11
1 ответ

Поскольку вы используете xrdp, вам необходимо создать сопоставление для протокола RDP.

Сначала вам нужно установить правильную раскладку клавиатуры с помощью setxbkmap, как вы упомянули. Затем вы можете использоватьxrdp-genkeymapдля извлечения отображения, используемого X. Вам нужно найти код для вашей раскладки клавиатуры. Вы можете найти его в этом списке . Вот пример с моей французской клавиатурой:

cd /etc/xrdp/ # goes into the right directory
sudo xrdp-genkeymap km-040C.ini

И, наконец, после перезапуска службы с sudo service xrdp restartваша проблема должна быть устранена.

Обратите внимание, что вам может потребоваться установить команду xrdp-genkeymapс помощью вашего любимого менеджера пакетов. Файл km-040C.iniможет уже находиться в каталоге /etc/xrdp/, однако я не уверен, что это норвежская альтернатива.

Связанные

0
18.03.2021, 23:32

Теги

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