SliTaz SliTaz Forum

You are not logged in.

#1 2017-04-07 18:02:15

I-Jurij
Member
Registered: 2015-10-10
Posts: 148

lxpanel --profile - не сохраняются некоторые изменения

У панели не убирается апплет "Меню приложений" в котором "Завершить сеанс, перезагрузка, выключение". Убирал его и с пом. "настройки панели" и вручную (во всех конфигах и везде, в etc, в домашних папках всех пользователей) - он снова появляется.

Откуда?

Offline

#2 2017-04-07 19:19:37

lexeii
Administrator
Registered: 2012-03-21
Posts: 1,853

Re: lxpanel --profile - не сохраняются некоторые изменения

Привет!

Команда "tazbox mkmenu" в файле ~/.xinitrc добавляет меню выхода с именем пользователя на панель. Если это меню так уж не нужно, закомментируй или удали эту команду из этого файла.

Offline

#3 2017-04-08 08:51:09

I-Jurij
Member
Registered: 2015-10-10
Posts: 148

Re: lxpanel --profile - не сохраняются некоторые изменения

Ok, thank's!

Offline

#4 2017-04-08 15:30:33

I-Jurij
Member
Registered: 2015-10-10
Posts: 148

Re: lxpanel --profile - не сохраняются некоторые изменения

Еще один вопрос возник: пропадает после перезагрузки апплет индикатора раскладки.

Установлен kbd, выбрано ruwin_cplk.

В иксах дополнительно пришлось "setxkbmap us,ru --option grp:caps_toggle", потому что вышеуказанное только в консоли работает.

Что-то еще в настройки сессии пишет?

Ессно, можно удалить kbd+выбрать другой вариант, но мне нравится, уже привык.

Offline

#5 2017-04-08 18:05:06

lexeii
Administrator
Registered: 2012-03-21
Posts: 1,853

Re: lxpanel --profile - не сохраняются некоторые изменения

Работа по настройке раскладки клавиатуры включает в себя множество этапов. Постараюсь ничего не упустить.

Если запустить Live CD, то можно выбрать язык системы. Вместе с ним выбирается соответствующая раскладка клавиатуры. При запуске не Live CD происходит то же самое, а именно - загрузчик передает параметры, которые дальше могут обрабатываться ядром и init-скриптами. Параметр, управляющий раскладкой:

kmap=раскладка

http://hg.slitaz.org/slitaz-boot-scripts/file/7763f4f1665c/etc/init.d/bootopts.sh#l78

^ Здесь выбранная раскладка помещается в файл /etc/keymap.conf.

http://hg.slitaz.org/slitaz-boot-scripts/file/7763f4f1665c/etc/init.d/system.sh#l37

^ Здесь анализируется этот файл. Он может быть пустой (параметр kmap= отсутствовал и в старых сеансах работы сюда также ничего не сохранилось - выбирается 'en'), он может содержать какое-нибудь значение (сохраненное в предыдущем сеансе работы или взятое на прошлом этапе из параметра kmap= - принимается выбранная раскладка).

Здесь мне уже кажется, что раз у тебя пропадает русская раскладка клавиатуры, тебе стоит проверить содержимое файла /etc/keymap.conf а также параметр kmap= в загрузчике (чтобы если он не помогает, то хотя бы не мешал).

http://hg.slitaz.org/slitaz-tools/file/ff7076d04f2e/tinyutils/tazkeymap#l39

^ Здесь вызывается 'tazx keyboard', который выполняет основную работу.

http://hg.slitaz.org/slitaz-tools/file/ff7076d04f2e/tinyutils/tazx#l131

^ Здесь воссоздается файл /etc/X11/xorg.conf.d/40-Keyboard.conf. Используя эти настройки, Xorg знает выбранные раскладки (русская и английская при выбранном параметре kmap=ru) и добавляет переключатель, когда выбранных раскладок более одной (по умолчанию переключение по Ctrl+Shift).

http://hg.slitaz.org/slitaz-tools/file/ff7076d04f2e/tinyutils/tazx#l57

^ Здесь на панель LXPanel добавляется индикатор раскладки в том случае, если раскладок более одной (иначе в статичном не изменяющемся индикаторе мало смысла) и удаляется индикатор раскладки если он там вдруг был если раскладка всего одна.

Вот и всё.

Писал с мобилки, не совсем удобно. Где-то могут быть неточности...

Offline

#6 2017-04-08 19:11:41

lexeii
Administrator
Registered: 2012-03-21
Posts: 1,853

Re: lxpanel --profile - не сохраняются некоторые изменения

Забыл одну вещь.

Если LXPanel поновее чем та, что в SliTaz 4, то индикатор раскладки клавиатуры позволяет также настраивать раскладки, а не только показывать их.

Для начала в настройках этого апплета нужно снять галочку "сохранять системные настройки" и затем можно выбрать себе любой набор раскладок и их вариантов, а также способ их переключения.

Правда, как уже было рассмотрено выше, если раскладка, прописанная в файле /etc/keymap.conf, не предусматривает переключателя клавиатуры, то "злой скрипт" (условно :-D) удалит индикатор с панели.

Наверное, мне стоит удалить "удаляторы" из скрипта...

Билин... Но тогда будут те же яйца только в профиль - люди будут жаловаться, что индикатор каждый раз появляется на панели! Как ты жаловался в начале этой темы на меню. Какие будут идеи?

Offline

#7 2017-04-08 20:34:16

I-Jurij
Member
Registered: 2015-10-10
Posts: 148

Re: lxpanel --profile - не сохраняются некоторые изменения

По поводу апплета раскладки - да, при выборе ruwin_cplk, в kmap+Keyboard.conf - одна раскладка, поэтому скрипт удаляет апплет.

По поводу "удаляторов" и "добавляторов" - не думаю, что для кого-то, кто использует live, это заметно и важно. В смысле - можно ничего не менять в исо.

А вот при полной установке - другое дело. Здесь бы я не привязывал системные настройки и пользовательские (автозапуск, всяческие настройки, xinitrc, profile etc). Т.к. при установке создаются новые пользователи, в скрипте можно указать, чтобы кроме tux-a + root-a не переписывать конфиги. Т.е. сделать как обычно - skel скопировали, базовые настройки тоже, а дальше хозяин - барин, и не лезть больше системе к пользователю.

Кстати, при создании нового пользователя - логина не будет, пока вручную не скопируешь /etc/slitaz/applications.conf в ~/.config/slitaz, и ~/.xinitrc - хозяин root.

Offline

#8 2017-04-08 21:09:01

lexeii
Administrator
Registered: 2012-03-21
Posts: 1,853

Re: lxpanel --profile - не сохраняются некоторые изменения

Всё это работает на Live CD хорошо: я выбираю русский язык и получаю систему на русском. Единственный "бок": первоначально (до перезагрузки иксов) индикатор показывает "None" вместо "ru" (как исправить, так и не понял).

Я считаю, это здравая мысль - каждый пользователь может иметь собственные языковые предпочтения.

Но пока у меня в голове никак не соберутся все кусочки настроек sad Возможны какие-то трудности. Вот, например, иксы запускаются не из-под пользователя. Иксы запускаются из-под root. Как это совместить? Запускать иксы без настроек клавиатуры, а потом после логина пользователя использовать внешние инструменты для управления раскладками? (Наподобие этого индикаторного апплета или консольной команды, кажется, setxkbmap?) Или пользователь может как-то настроить иксы из-под себя в запущенной сессии?

Еще момент. Пользователь tux в сессии, запущенной в Live CD, создается на лету. Весь его хомяк с файлами создается при загрузке системы (загрузка в смысле boot, а не download). Нужно не забыть этот момент.

Нужно написать некие обертки вокруг команд, "создающих" новых пользователей. Кроме создания домашней папки и копирования в неё содержимого /etc/skel/, нужно будет кое-что там модифицировать. Как пример, добавить имя пользователя на меню выхода (удобно видеть под каким пользователем ты сейчас работаешь). Это не делается никак по-другому кроме как прописывать конкретные значения в файлы.

В общем, всё со временем только усложняется smile Хотя я и не люблю принципы KISS, но иногда диву даешься как можно всё наворотить, например моё описание двумя постами выше smile

Offline

#9 2017-04-09 08:40:30

I-Jurij
Member
Registered: 2015-10-10
Posts: 148

Re: lxpanel --profile - не сохраняются некоторые изменения

В 40-Xkeyboard.conf для Х-ов уже указана раскладка после загрузки. Эти значения можно копировать в автостарт (setxkbmap) при создании пользователя, апплет лучше оставить в покое (к примеру меня устраивает русская локаль, но раскладки мне нужны ru,cn,en - апплет сам настроил или setxkbmap и готово, и "умный" скрипт не должен все это мне убивать).

Все. В чем трудность?

Имя пользователя в меню выхода, имхо, лишнее.

Так и не нужно усложнять. Для фругал установки и лив сессии - норм. Для полной - tazx xkb запускать только если 40-Xkeyboard.conf пустой или отсутствует (ну или при ручном запуске). При каждой загрузке переписывать конфиги не вижу смысла. То же самое для локали, часового пояса + что там еще.

Offline

#10 2017-04-09 11:24:10

lexeii
Administrator
Registered: 2012-03-21
Posts: 1,853

Re: lxpanel --profile - не сохраняются некоторые изменения

Юрий, всё дело в том, что это только идеи. У меня в голове обычно крутится с десяток разных интересных идей. Но как сказал кто-то из классиков, "Слова ничего не стоят, покажи мне свой код!"

Лично я не готов вкладываться в изменения, которые ты описал, хотя я их и поддерживаю в общем.

Если захочешь "показать свой код", учти некоторые вопросы:

Есть некоторые параметры, некоторое поведение, которые описаны в дркументации и которые ожидают от системы пользователи.

Инициализационные скрипты общие для разных типов использования. Независимо от того, запускаешь ли ты Live CD с созданным на лету пользователем tux, или ты используешь свою флешку на разном оборудовании с разными видео-картами и прочем, или ты просто установил систему на жесткий диск своего десктопа / лэптопа... Что-то забыл?

Иксы перенастраиваются каждый раз именно для того, чтобы позволить пользователю работать на разном оборудовании с помощью одной инсталляции. Иксы запускаются с правами root. Иксы нормально подстраиваются к оборудованию и их можно запускать практически без конфигов. Но пользователь может захотеть настроить иксы, нужно учесть его настройки.

Многие программы читают содержимое /etc/locale.conf для настроек локали. Например, на основе этого содержимого: меню правой кнопки на рабочем столе может быть на русском или на других языках; документация в в меню "Приложения - Документация" может также быть на русском и др.

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

В общем, желаю удачи. Серьезно.

Offline

#11 2017-04-09 12:46:40

lexeii
Administrator
Registered: 2012-03-21
Posts: 1,853

Re: lxpanel --profile - не сохраняются некоторые изменения

По итогу я всё же внесу небольшие изменения: добавлю индикатор раскладки для всех в /etc/skel/ и удалю код, работающий с индикатором, из tazx. Такой вот KISS...

Offline

#12 2017-04-09 12:59:53

I-Jurij
Member
Registered: 2015-10-10
Posts: 148

Re: lxpanel --profile - не сохраняются некоторые изменения

Такой KISS лучше перспективы перелопатить все скрипты ради значка на панели... Остальное работает, и если так, то "не трогай" smile

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.020 seconds, 8 queries executed - Memory usage: 1.57 MiB (Peak: 1.77 MiB) ]