Решено: Автозапуск программ под Openbox. (не работает ни одним из способов.)

Модератор: Модераторы разделов

Ответить
anonimous
Сообщения: 4
ОС: Debian

Решено: Автозапуск программ под Openbox.

Сообщение anonimous »

Я перешёл с XFCE на Openbox. Вот и проблема...автозапуск программ не работает.
Запустить хочу файл-менеджер rox.
Посмотрев гугл, попробовал несколько способов:
1. /home/.config/openbox/autostart.sh - если запускать сам скрипт - работает, при загрузке - нет. Исполняемым делал, нет эффекта.

2. /usr/share/xsessions/openbox.desktop тоже не запускает то, что нужно. :angry:

3. /home/.xinitrc отсутствует. Глобальный /etc/X11/xinit/xinitrc видимо, не запускается вместе с опенбоксом.
Вот он, на всякий случай:

Код:

#!/bin/sh # $Xorg: xinitrc.cpp,v 1.3 2000/08/17 19:54:30 cpqbld Exp $ # /etc/X11/xinit/xinitrc # # global xinitrc file, used by all X sessions started by xinit (startx) # invoke global X session script . /etc/X11/Xsession exec openbox


4. Читал на ЛОРе, что вместо xinitrc запускается xsession, потому что используется менеджер входа (у меня это wdm, с xdm и gdm то же самое). Кстати, самого home/.xsession тоже нет. Есть только глобальный /etc/X11/Xsession
Вот он:

Код:

#!/bin/sh # # /etc/X11/Xsession # # global Xsession file -- used by display managers and xinit (startx) # $Id: Xsession 967 2005-12-27 07:20:55Z dnusinow $ set -e PROGNAME=Xsession message () { # pretty-print messages of arbitrary length; use xmessage if it # is available and $DISPLAY is set MESSAGE="$PROGNAME: $*" echo "$MESSAGE" | fold -s -w ${COLUMNS:-80} >&2 if [ -n "$DISPLAY" ] && which xmessage > /dev/null 2>&1; then echo "$MESSAGE" | fold -s -w ${COLUMNS:-80} | xmessage -center -file - fi } message_nonl () { # pretty-print messages of arbitrary length (no trailing newline); use # xmessage if it is available and $DISPLAY is set MESSAGE="$PROGNAME: $*" echo -n "$MESSAGE" | fold -s -w ${COLUMNS:-80} >&2; if [ -n "$DISPLAY" ] && which xmessage > /dev/null 2>&1; then echo -n "$MESSAGE" | fold -s -w ${COLUMNS:-80} | xmessage -center -file - fi } errormsg () { # exit script with error message "$*" exit 1 } internal_errormsg () { # exit script with error; essentially a "THIS SHOULD NEVER HAPPEN" message # One big call to message() for the sake of xmessage; if we had two then # the user would have dismissed the error we want reported before seeing the # request to report it. errormsg "$*" \ "Please report the installed version of the \"x11-common\"" \ "package and the complete text of this error message to" \ "<debian-x@lists.debian.org>." } run_parts () { # until run-parts --noexec is implemented if [ -z "$1" ]; then internal_errormsg "run_parts() called without an argument." fi if [ ! -d "$1" ]; then internal_errormsg "run_parts() called, but \"$1\" does not exist or is" \ "not a directory." fi for F in $(/bin/ls $1); do if expr "$F" : '[[:alnum:]_-]\+$' > /dev/null 2>&1; then if [ -f "$1/$F" ]; then echo "$1/$F" fi fi done } # initialize variables for use by all session scripts OPTIONFILE=/etc/X11/Xsession.options SYSRESOURCES=/etc/X11/Xresources USRRESOURCES=$HOME/.Xresources SYSSESSIONDIR=/etc/X11/Xsession.d USERXSESSION=$HOME/.xsession ALTUSERXSESSION=$HOME/.Xsession ERRFILE=$HOME/.xsession-errors # attempt to create an error file; abort if we cannot if (umask 077 && touch "$ERRFILE") 2> /dev/null && [ -w "$ERRFILE" ] && [ ! -L "$ERRFILE" ]; then chmod 600 "$ERRFILE" elif ERRFILE=$(tempfile 2> /dev/null); then if ! ln -sf "$ERRFILE" "${TMPDIR:=/tmp}/xsession-$USER"; then message "warning: unable to symlink \"$TMPDIR/xsession-$USER\" to" \ "\"$ERRFILE\"; look for session log/errors in" \ "\"$TMPDIR/xsession-$USER\"." fi else errormsg "unable to create X session log/error file; aborting." fi exec >>"$ERRFILE" 2>&1 echo "$PROGNAME: X session started for $LOGNAME at $(date)" # sanity check; is our session script directory present? if [ ! -d "$SYSSESSIONDIR" ]; then errormsg "no \"$SYSSESSIONDIR\" directory found; aborting." fi # Attempt to create a file of non-zero length in /tmp; a full filesystem can # cause mysterious X session failures. We do not use touch, :, or test -w # because they won't actually create a file with contents. We also let standard # error from tempfile and echo go to the error file to aid the user in # determining what went wrong. WRITE_TEST=$(tempfile) if ! echo "*" >>"$WRITE_TEST"; then message "warning: unable to write to ${WRITE_TEST%/*}; X session may exit" \ "with an error" fi rm -f "$WRITE_TEST" # use run-parts to source every file in the session directory; we source # instead of executing so that the variables and functions defined above # are available to the scripts, and so that they can pass variables to each # other SESSIONFILES=$(run_parts $SYSSESSIONDIR) if [ -n "$SESSIONFILES" ]; then set +e for SESSIONFILE in $SESSIONFILES; do . $SESSIONFILE done set -e fi exit 0 # vim:set ai et sts=2 sw=2 tw=80:


Вот и сам вопрос...как прописать в него программы?
Или есть другой способ автозапуска под опенбоксом?
Спасибо сказали:
Аватара пользователя
Brainsburn
Сообщения: 950
Статус: /
ОС: Gentoo
Контактная информация:

Re: Решено: Автозапуск программ под Openbox.

Сообщение Brainsburn »

anonimous писал(а):
25.09.2009 19:58
3. /home/.xinitrc отсутствует. Глобальный /etc/X11/xinit/xinitrc видимо, не запускается вместе с опенбоксом.

4. Читал на ЛОРе, что вместо xinitrc запускается xsession, потому что используется менеджер входа (у меня это wdm, с xdm и gdm то же самое). Кстати, самого home/.xsession тоже нет. Есть только глобальный /etc/X11/Xsession

Если файл отсутствует, великодушный Линукс позволяет пользователю его создать =)
У меня ~/.xinitrc работал всегда в таком виде:
conky &
psi &
qutim &

Причем работало и когда был установлен xdm
Спасибо сказали:
anonimous
Сообщения: 4
ОС: Debian

Re: Решено: Автозапуск программ под Openbox.

Сообщение anonimous »

Уже попробовал, всё было так же. Не работает...
Спасибо сказали:
Аватара пользователя
Brainsburn
Сообщения: 950
Статус: /
ОС: Gentoo
Контактная информация:

Re: Решено: Автозапуск программ под Openbox.

Сообщение Brainsburn »

Хотя, я уверен, вы читали это http://wiki.archlinux.org/index.php/Openbo...%D0%B8%D0%B9%29 , думаю, что вам стоит использовать способ оттуда и искать где-то у себя ошибку.
Спасибо сказали:
Аватара пользователя
Lennox
Сообщения: 172
ОС: Slackware

Re: Решено: Автозапуск программ под Openbox.

Сообщение Lennox »

автостарт приложений в опенбоксе прописывай в файле /etc/xdg/openbox/autostart.sh
«Линукс - дружественная операционная система, правда она очень переборчива в друзьях».
Спасибо сказали:
anonimous
Сообщения: 4
ОС: Debian

Re: Решено: Автозапуск программ под Openbox.

Сообщение anonimous »

Хотя, я уверен, вы читали это http://wiki.archlinux.org/index.php/Openbo...%D0%B8%D0%B9%29 , думаю, что вам стоит использовать способ оттуда и искать где-то у себя ошибку.

Прочитал. Так как там, не вышло, но удалось через .xsession. Нужно было просто дописать в конец файла:

Код: Выделить всё

exec openbox

иначе иксы падали.

автостарт приложений в опенбоксе прописывай в файле /etc/xdg/openbox/autostart.sh

Теперь это не нужно делать.

Большое спасибо!
Спасибо сказали:
Ответить