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

lxpanel --profile - не сохраняются некоторые изменения
(12 posts) (2 voices)-
Posted 8 years ago #
-
Привет!
Команда "tazbox mkmenu" в файле ~/.xinitrc добавляет меню выхода с именем пользователя на панель. Если это меню так уж не нужно, закомментируй или удали эту команду из этого файла.
Posted 8 years ago # -
Ok, thank's!
Posted 8 years ago # -
Еще один вопрос возник: пропадает после перезагрузки апплет индикатора раскладки.
Установлен kbd, выбрано ruwin_cplk.
В иксах дополнительно пришлось "setxkbmap us,ru --option grp:caps_toggle", потому что вышеуказанное только в консоли работает.
Что-то еще в настройки сессии пишет?
Ессно, можно удалить kbd+выбрать другой вариант, но мне нравится, уже привык.Posted 8 years ago # -
Работа по настройке раскладки клавиатуры включает в себя множество этапов. Постараюсь ничего не упустить.
Если запустить 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 добавляется индикатор раскладки в том случае, если раскладок более одной (иначе в статичном не изменяющемся индикаторе мало смысла) и удаляется индикатор раскладки если он там вдруг был если раскладка всего одна.
Вот и всё.
Писал с мобилки, не совсем удобно. Где-то могут быть неточности...Posted 8 years ago # -
Забыл одну вещь.
Если LXPanel поновее чем та, что в SliTaz 4, то индикатор раскладки клавиатуры позволяет также настраивать раскладки, а не только показывать их.
Для начала в настройках этого апплета нужно снять галочку "сохранять системные настройки" и затем можно выбрать себе любой набор раскладок и их вариантов, а также способ их переключения.
Правда, как уже было рассмотрено выше, если раскладка, прописанная в файле /etc/keymap.conf, не предусматривает переключателя клавиатуры, то "злой скрипт" (условно :-D) удалит индикатор с панели.
Наверное, мне стоит удалить "удаляторы" из скрипта...
Билин... Но тогда будут те же яйца только в профиль - люди будут жаловаться, что индикатор каждый раз появляется на панели! Как ты жаловался в начале этой темы на меню. Какие будут идеи?
Posted 8 years ago # -
По поводу апплета раскладки - да, при выборе ruwin_cplk, в kmap+Keyboard.conf - одна раскладка, поэтому скрипт удаляет апплет.
По поводу "удаляторов" и "добавляторов" - не думаю, что для кого-то, кто использует live, это заметно и важно. В смысле - можно ничего не менять в исо.
А вот при полной установке - другое дело. Здесь бы я не привязывал системные настройки и пользовательские (автозапуск, всяческие настройки, xinitrc, profile etc). Т.к. при установке создаются новые пользователи, в скрипте можно указать, чтобы кроме tux-a + root-a не переписывать конфиги. Т.е. сделать как обычно - skel скопировали, базовые настройки тоже, а дальше хозяин - барин, и не лезть больше системе к пользователю.
Кстати, при создании нового пользователя - логина не будет, пока вручную не скопируешь /etc/slitaz/applications.conf в ~/.config/slitaz, и ~/.xinitrc - хозяин root.
Posted 8 years ago # -
Всё это работает на Live CD хорошо: я выбираю русский язык и получаю систему на русском. Единственный "бок": первоначально (до перезагрузки иксов) индикатор показывает "None" вместо "ru" (как исправить, так и не понял).
Я считаю, это здравая мысль - каждый пользователь может иметь собственные языковые предпочтения.
Но пока у меня в голове никак не соберутся все кусочки настроек :( Возможны какие-то трудности. Вот, например, иксы запускаются не из-под пользователя. Иксы запускаются из-под root. Как это совместить? Запускать иксы без настроек клавиатуры, а потом после логина пользователя использовать внешние инструменты для управления раскладками? (Наподобие этого индикаторного апплета или консольной команды, кажется, setxkbmap?) Или пользователь может как-то настроить иксы из-под себя в запущенной сессии?
Еще момент. Пользователь tux в сессии, запущенной в Live CD, создается на лету. Весь его хомяк с файлами создается при загрузке системы (загрузка в смысле boot, а не download). Нужно не забыть этот момент.
Нужно написать некие обертки вокруг команд, "создающих" новых пользователей. Кроме создания домашней папки и копирования в неё содержимого /etc/skel/, нужно будет кое-что там модифицировать. Как пример, добавить имя пользователя на меню выхода (удобно видеть под каким пользователем ты сейчас работаешь). Это не делается никак по-другому кроме как прописывать конкретные значения в файлы.
В общем, всё со временем только усложняется :) Хотя я и не люблю принципы KISS, но иногда диву даешься как можно всё наворотить, например моё описание двумя постами выше :)
Posted 8 years ago # -
В 40-Xkeyboard.conf для Х-ов уже указана раскладка после загрузки. Эти значения можно копировать в автостарт (setxkbmap) при создании пользователя, апплет лучше оставить в покое (к примеру меня устраивает русская локаль, но раскладки мне нужны ru,cn,en - апплет сам настроил или setxkbmap и готово, и "умный" скрипт не должен все это мне убивать).
Все. В чем трудность?Имя пользователя в меню выхода, имхо, лишнее.
Так и не нужно усложнять. Для фругал установки и лив сессии - норм. Для полной - tazx xkb запускать только если 40-Xkeyboard.conf пустой или отсутствует (ну или при ручном запуске). При каждой загрузке переписывать конфиги не вижу смысла. То же самое для локали, часового пояса + что там еще.
Posted 8 years ago # -
Юрий, всё дело в том, что это только идеи. У меня в голове обычно крутится с десяток разных интересных идей. Но как сказал кто-то из классиков, "Слова ничего не стоят, покажи мне свой код!"
Лично я не готов вкладываться в изменения, которые ты описал, хотя я их и поддерживаю в общем.
Если захочешь "показать свой код", учти некоторые вопросы:
Есть некоторые параметры, некоторое поведение, которые описаны в дркументации и которые ожидают от системы пользователи.
Инициализационные скрипты общие для разных типов использования. Независимо от того, запускаешь ли ты Live CD с созданным на лету пользователем tux, или ты используешь свою флешку на разном оборудовании с разными видео-картами и прочем, или ты просто установил систему на жесткий диск своего десктопа / лэптопа... Что-то забыл?
Иксы перенастраиваются каждый раз именно для того, чтобы позволить пользователю работать на разном оборудовании с помощью одной инсталляции. Иксы запускаются с правами root. Иксы нормально подстраиваются к оборудованию и их можно запускать практически без конфигов. Но пользователь может захотеть настроить иксы, нужно учесть его настройки.
Многие программы читают содержимое /etc/locale.conf для настроек локали. Например, на основе этого содержимого: меню правой кнопки на рабочем столе может быть на русском или на других языках; документация в в меню "Приложения - Документация" может также быть на русском и др.
В общем, если чувствуешь в себе силы разобраться в хитросплетениях системы, учесть различные варианты использования и написать изменения, которые будут работать при любом раскладе, то велкам. Но будь готов к тому что всегда найдется какая-то мелочь, какая-то точка или пробел, из-за которых система сломается. И сломается она у всех пользователей, которые решат обновиться, и нужно срочно будет что-то фиксить и выкладывать изменения...
В общем, желаю удачи. Серьезно.
Posted 8 years ago # -
По итогу я всё же внесу небольшие изменения: добавлю индикатор раскладки для всех в /etc/skel/ и удалю код, работающий с индикатором, из tazx. Такой вот KISS...
Posted 8 years ago # -
Такой KISS лучше перспективы перелопатить все скрипты ради значка на панели... Остальное работает, и если так, то "не трогай" :)
Posted 8 years ago #
Reply
You must log in to post.