Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: перезаписывается /etc/default/keyboard после установки системы  (Прочитано 1052 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн hardir

  • Автор темы
  • Участник
  • *
  • Сообщений: 124
  • open source рулит
    • Просмотр профиля
    • маленький блог бедного программера
Имеется такая проблема. Нужно изменить сочетание клавиш с alt+shift на ctrl+shift в собственной сборке дистрибутива.

Но вот ubiquity после отработки (установки системы) перезаписывает файл /etc/default/keyboard и настройки сново сбрасываются на alt+shift.
Перерыл весь дистрибутив, поменял кучу конфигов, но ничего не изменилось.

Откопал такой файл /usr/lib/ubiquity/console-setup/keyboard-configuration.postinst
Там имеется код:
CONFIGFILE=/etc/default/keyboard

if [ "$1" = "configure" ]; then
   
    db_get keyboard-configuration/modelcode
    model="$RET"

    db_get keyboard-configuration/layoutcode
    layout="$RET"

    db_get keyboard-configuration/variantcode
    variant="$RET"

    db_get keyboard-configuration/optionscode
    options="$RET"

    if [ ! -e $CONFIGFILE ]; then
cat /usr/share/console-setup/keyboard \
    /usr/share/console-setup-mini/keyboard \
    2>/dev/null >$CONFIGFILE || true
    fi

    # Ensure we do not mess up the config file's ownership and permissions.
    cp -a -f $CONFIGFILE $CONFIGFILE.tmp

    # If the admin deleted or commented some variables but then set
    # them via debconf, (re-)add them to the conffile.
    for var in XKBMODEL XKBLAYOUT XKBVARIANT XKBOPTIONS; do
        if ! grep "^ *${var}=" $CONFIGFILE >/dev/null; then
    echo "${var}=" >>$CONFIGFILE
fi
    done   
   
    sed \
-e "s|^ *XKBMODEL=.*|XKBMODEL=\"$model\"|" \
-e "s|^ *XKBLAYOUT=.*|XKBLAYOUT=\"$layout\"|" \
-e "s|^ *XKBVARIANT=.*|XKBVARIANT=\"$variant\"|" \
-e "s|^ *XKBOPTIONS=.*|XKBOPTIONS=\"$options\"|" \
<$CONFIGFILE >$CONFIGFILE.tmp
   
    mv -f $CONFIGFILE.tmp $CONFIGFILE
...

Но ХЗ знает откуда он этот alt выковыривает. Есть какие соображения?

Пока есть только один рабочий вариант, закомментить     
#mv -f $CONFIGFILE.tmp $CONFIGFILE

Всё, разобрался.

Если кому интересно:
Исполняемый файл keyboard-configuration.config
Строка default_toggle='Alt+Shift' заменяется на default_toggle='Control+Shift'
« Последнее редактирование: 28 Февраля 2016, 14:46:57 от hardir »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28469
    • Просмотр профиля
Поменяйте эту настроку в /etc/skel …
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

Страница сгенерирована за 0.065 секунд. Запросов: 26.