Опубликовано 23 ноября, 200420 г. comment_394015 Все это я умею делать, но мне хотелось бы узнать, как это делать правильно (т.е. не самопальными методами): 1. Прописывать юзеру PATH и прочие envvar'ы. 2. Редактировать список загрузки демонов на ранлевелах руками (щас юзаю ksysv). 3. Сделать, чтобы .Xdefaults файл парсился xrdb сам (приходится руками пока). Где лежит скрипт, выполняемый при входе в X-сессию? .xinitrc не работает... 4. Собирать софт из исходников. Думаю, просто собирать плохо (а пакета нетуть), может, можно как-то усовершенствовать процесс? Пока все, жду ответа. Заранее спасибо. Жалоба
Опубликовано 23 ноября, 200420 г. comment_394119 ответ "вне конкурса": apt-get install debian-reference doc-debian debian-policy --- все это полезно прочитать. 1.Знаю для SH: /etc/profile --- для всех, ~/.profile --- для конкретного юзера (bash, вероятно, предпочтет ~/.bash_profile если он есть). Советую так же проситать /usr/share/doc/base-files/FAQ 2. man update-rc.d (наверное, ksys удобнее http://forum.academ.org/html/emoticons/smile.gif) 3. погоди, посмотрю... (у меня руками прописано...) 4. apt-get install debmake. К сожалению, придется помучится. У меня ни разу ничего путного не получилось (обнадежил?). Еще можно пользоваться (x)stow --- пакеты не делает, но и ничего плохого тоже http://forum.academ.org/html/emoticons/smile.gif Жалоба
Опубликовано 23 ноября, 200420 г. comment_394141 да, вот: 3. /etc/X11/Xsession, man Xsession О! вот: в /etc/X11/Xsession.options нужно вписать allow-user-resources и будет парсится ~/.Xresources Изменено 23 ноября, 200420 г. пользователем Гость Жалоба
Опубликовано 23 ноября, 200420 г. Автор comment_394482 QUOTE (busa @ Nov 23 2004, 07:53 PM) да, вот: 3. /etc/X11/Xsession, man Xsession О! вот: в /etc/X11/Xsession.options нужно вписать allow-user-resources и будет парсится ~/.Xresources Прописано. В нем прописано: xrdb -merge $HOME/.Xdefaults Нифига не грузится ;-( Жалоба
Опубликовано 23 ноября, 200420 г. comment_394485 не .Xdefaults a .Xresources. Да, еще: xinit это не юзает. А startx юзает. Жалоба
Опубликовано 23 ноября, 200420 г. comment_394715 QUOTE (busa @ Nov 23 2004, 07:47 PM)1.Знаю для SH: /etc/profile --- для всех, ~/.profile --- для конкретного юзера (bash, вероятно, предпочтет ~/.bash_profile если он есть). Советую так же проситать /usr/share/doc/base-files/FAQ Хотелось бы добавть, что bash всегда смотрит в '/etc/bash.bashrc'. Жалоба
Опубликовано 23 ноября, 200420 г. comment_394850 QUOTE (_Eugene_ @ Nov 24 2004, 12:55 AM) QUOTE (busa @ Nov 23 2004, 07:47 PM)1.Знаю для SH: /etc/profile --- для всех, ~/.profile --- для конкретного юзера (bash, вероятно, предпочтет ~/.bash_profile если он есть). Советую так же проситать /usr/share/doc/base-files/FAQ Хотелось бы добавть, что bash всегда смотрит в '/etc/bash.bashrc'. По-моему, это верно для non-login interactive shell, т.к. (если я правильно понимаю man) login shell прочитает только ~/.profile или whatever. Да, это точно так, ведь не зря у меня в ~/.bash_profile написано source ~/.bashrc Изменено 23 ноября, 200420 г. пользователем Гость Жалоба
Опубликовано 24 ноября, 200420 г. comment_395327 QUOTE (busa @ Nov 24 2004, 01:11 AM) QUOTE (_Eugene_ @ Nov 24 2004, 12:55 AM) QUOTE (busa @ Nov 23 2004, 07:47 PM)1.Знаю для SH: /etc/profile --- для всех, ~/.profile --- для конкретного юзера (bash, вероятно, предпочтет ~/.bash_profile если он есть). Советую так же проситать /usr/share/doc/base-files/FAQ Хотелось бы добавть, что bash всегда смотрит в '/etc/bash.bashrc'. По-моему, это верно для non-login interactive shell, т.к. (если я правильно понимаю man) login shell прочитает только ~/.profile или whatever. Да, это точно так, ведь не зря у меня в ~/.bash_profile написано source ~/.bashrc Угу, насчёт всегда я конечно прогнал. Это я всегда сижу под скринами и не вижу никакой разницы. http://forum.academ.org/html/emoticons/smile.gif Жалоба
Опубликовано 24 ноября, 200420 г. Автор comment_395805 Ну у меня настроено в /etc/inittab на 5-й ранлевел, это означает, что грузится из xinit? Как мне тогда сделать? Жалоба
Опубликовано 24 ноября, 200420 г. comment_395931 Подробнее не можешь ? Что-то я не догоняю... Ты поправил inittab ? Я пользуюсь xdm и у меня все работает. Жалоба
Опубликовано 25 ноября, 200420 г. Автор comment_397041 Нет, просто у меня иксы грузятся сами (в inittab прописан 5-й rl), это означает, что используется xinit? В .Xresources написано: xrdb -merge $HOME/.Xdefaults Ресурсы НЕ грузятся сами... Далее, про PATH, ну положим, башу я установил, а как сделать иксам? Я пользуюсь Xfce, и хотел бы, чтобы можно было выключать машину по Alt-F2, poweroff, а сейчас приходится писать /sbin/poweroff. Жалоба
Опубликовано 25 ноября, 200420 г. comment_397142 QUOTE (hedin @ Nov 25 2004, 08:25 AM)Нет, просто у меня иксы грузятся сами (в inittab прописан 5-й rl), это означает, что используется xinit? В .Xresources написано: xrdb -merge $HOME/.Xdefaults Ресурсы НЕ грузятся сами... Ты перепутал http://forum.academ.org/html/emoticons/smile.gif лучше всего, если ты сделаешь так: cd ~; ln -s .Xdefaults .Xresources http://forum.academ.org/html/emoticons/smile.gif QUOTE Далее, про PATH, ну положим, башу я установил, а как сделать иксам? Я пользуюсь Xfce, и хотел бы, чтобы можно было выключать машину по Alt-F2, poweroff, а сейчас приходится писать /sbin/poweroff. это вообще-то фичи xfce, где она ищет executable. лучший способ узнать свой path в X --- вставить в .xsession строчку вида "echo $PATH > ~/tmp/path-X" и посмотреть, что там. Но если в ~/.profile все выставлено верно (желательно их с ~/.bash_profile сделать одним файлом) вроде все должно быть ok. Жалоба
Опубликовано 25 ноября, 200420 г. Автор comment_397956 Угу, с ресурсами проканало. С PATH-ом разбираюсь. Все-таки что куда прописать (bash тоже не пашет!) Жалоба
Опубликовано 26 ноября, 200420 г. comment_398823 ~/.bashrc BASH запущенный из X не является начальным и, следовательно, не исполняет ~/.bash_profile & Co. В то же время в ~/.bash_profile принято вставлять что-то типа if [ -f ~/.bashrc ]; then . ~/.bashrc fi т.е. ~/.bashrc будет выполнен при любом варианте запуска BASH. QUOTE Начальный командный интерпретатор (login shell) - это интерпретатор, первый символ нулевого аргумента которого является дефисом (-) или который запущен с опцией --login. Интерактивным является командный интерпретатор, стандартный входной и выходной потоки которого подключены к терминалам (что определяется с помощью функции isatty(3)), или запущенный с опцией -i. Переменная среды PS1 устанавливается и флаги ($-) включают i, только если bash является интерактивным интерпретатором, что позволяет проверить это в файле начального запуска или в сценарии командного интерпретатора. Следующие абзацы описывают, как bash выполняет свои файлы начального запуска. Если любой из этих файлов существует, но не может быть прочитан, bash выдает сообщение об ошибке. Символы тильды (~) в именах файлов заменяются так, как описано в подразделе "Замена тильды" раздела "ЗАМЕНЫ". При вызове bash как интерактивного начального командного интерпретатора, или как неинтерактивного интерпретатора с опцией --login, он сначала читает и выполняет команды из файла /etc/profile, если этот файл существует. После прочтения этого файла, он последовательно ищет файлы ~/.bash_profile, ~/.bash_login и ~/.profile, читает и выполняет команды из первого же из них, который существует и доступен на чтение. Опция --noprofile может использоваться при запуске командного интерпретатора, чтобы отменить это действие. При завершении работы в качестве начального командного интерпретатора bash читает и выполняет команды в файле ~/.bash_logout, если он существует. При запуске интерактивного командного интерпретатора, не являющегося начальным, bash читает и выполняет команды из файла ~/.bashrc, если он существует. Это действие можно отменить с помощью опции --norc. Опция --rcfile файл заставляет bash читать и выполнять команды из указанного файла вместо ~/.bashrc. Жалоба
Опубликовано 23 декабря, 200420 г. comment_454595 QUOTE (hedin @ Nov 23 2004, 07:00 PM)Все это я умею делать, но мне хотелось бы узнать, как это делать правильно (т.е. не самопальными методами): 1. Прописывать юзеру PATH и прочие envvar'ы. 2. Редактировать список загрузки демонов на ранлевелах руками (щас юзаю ksysv). 3. Сделать, чтобы .Xdefaults файл парсился xrdb сам (приходится руками пока). Где лежит скрипт, выполняемый при входе в X-сессию? .xinitrc не работает... 4. Собирать софт из исходников. Думаю, просто собирать плохо (а пакета нетуть), может, можно как-то усовершенствовать процесс? Пока все, жду ответа. Заранее спасибо. 1. Прописывать пары "переменная=значение" в файле /etc/environment. Например PAGER=most INPUTRC=/etc/inputrc PRINTER=qprn EDITOR="mcedit -c" SKINSDIR=/usr/share/xmms/Skins FLASH_GTK_LIBRARY=libgtk-x11-2.0.so.0 LANG=ru_RU.KOI8-R Это позволяет избежать привязки к интерпретатору комманд (bash, csh, tcsh и др.), а также использовать значения переменных в неконсольных приложениях. 2. Редактировать содержимое директорий /etc/rcN.d , где N -- номер runlevel'а 4. Поскольку пакет debmake помечен как [deprecated], ставить надо пакет debhelper. Что делать далее:распаковать архив с исходниками tar -xvjf package.tar.bz2 или tar -xvzf package.tar.gzперейти в директорию с исходниками cd <sourcedir>запустить коммпанду dh_make и ответить на поставленные вопросы (одиночный пакет, пакеты программа+либы, бинарники+dev, программа+документация и другие)подредактировать файл debian/rules на момент опция для скрипта ./configure или аналогичного действия (не все пакеты используют auto-tools)подредактировать файл debian/changelog (что изменено/добавлено/убрано в текущей сборке, изменить версию/ревизию и др. параметры типа критичность) dch (если нужно только увеличить ревизию, можно использовать ключ -i: dch -i)подредактировать файл debian/control (описание пакетов, зависимости от dev-пакетов, необходимых для сборки, зависимости новых пакетов от других и т.д.)собрать пакет fakeroot dpkg-buildpackageинсталировать пакет dpkg -i ../packagename_version-revision.debДля последнего действия потребуются права root'а. Лучше всего обходиться sudo. Вообще для сборки пакетов тоже нужны права root'а (для смены владельца/группы и выставления прав доступа к файлам), но это обходится через fakeroot (подменяет системные вызовы типа chmod(), chown(), chgroup() на свои функции), для чего потребуется инсталировать пакет fakeroot. Изменено 23 декабря, 200420 г. пользователем Гость Жалоба
Для публикации сообщений создайте учётную запись или авторизуйтесь