Как сделать изменения xmodmap постоянными? (перезагрузка и возобновление)

Si está en un sistema con fecha GNU (como un sistema Linux ), podría usar awk para analizar la salida de helm ls, luego use la fecha GNU para calcular los segundos -desde -la época -y determinar si el despliegue correspondiente es lo suficientemente antiguo:

helm ls | awk -v now=$(date +%s) -f delete-old-deployments.awk

Donde los contenidos de delete-old-deployments.awkson ​​:

BEGIN {
  # age cutoff, in seconds
  cutoff=4 * 60 * 60
}

NR > 1 {
        split($0, elements, /   */)
        "date -d '" elements[3] "' +%s" | getline elesecs
        if ((now - elesecs) > cutoff && elements[4] == "DEPLOYED") {
            system("helm delete '"elements[1]"'")

        }
}

Basado en lo que puedo deducir del código fuente de helm ls , la salida es una tabla separada por espacios en blanco -de varias cadenas. Como tal, le pedí a awk que divida cada línea (después de omitir el encabezado )basado en 2 o más espacios (hay tres espacios en el tercer parámetro para la función dividir (); dos, seguido de cero -o -más espacios ).

El tercer campo después de la división es la cadena de fecha, que pasamos a la fecha de GNU, pidiéndole que la convierta en segundos -desde -la época -. Si la diferencia entre "ahora" y "entonces" es mayor que el corte, llamamos al comando helm deleteen el nombre correspondiente.

2
24.05.2019, 02:27
1 ответ

Перезагрузка

На панели настроек (KDE/GNOME )есть раздел запуска, в котором приложение может быть добавлено в сеанс запуска, туда можно добавить xmodmap

Резюме

Xmodmap не сохраняет изменения после сна/возобновления, вот как настроить xmodmap на возобновление работы системы с помощью systemd:(Пользователь, не являющийся systemd, может использовать это)

  • Создать сценарий возобновления работы xkeyboard:

    touch /usr/lib/systemd/system-sleep/xkeyboard; chmod 755 /usr/lib/systemd/system-sleep/xkeyboard

  • Отредактируйте xkeyboard и заполните его:

#!/bin/bash

case $1 in
    pre)
        exit 0
    ;;
    post)
        export DISPLAY=:0
        sleep 10
        xmodmap -e 'keycode 133 = F14'
    ;;
esac
6
27.01.2020, 22:17

Теги

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