LINUX.ORG.RU

OpenBox and startup


0

0

Kak v openbox zapuskat' progi pri starte wm?
V Fluxbox Est' chto-to vrode startup, a v OB kak?

Hochu zapustit' idesk i fbpanel.
Y menya gentoo, v rc.conf propical XSESSION="my"
/usr/bin/my:
fbpanel &
idesk &
openbox

chmod'om postavil exec, a iksu gruzyat Twm.

PS izvinite za translit

anonymous

если ты запускаешь иксы с посмощью startx, то нада писать в файл
.xinitrc, если иксы грузятся сразу, то в файл .Xsession.

содержание где-то такое:

!#/bin/sh

exec pgog1&
exec prog2&
exec openbox

не забудь сделать chmod

berkuf
()
Ответ на: комментарий от svyatogor

Не катит: при попытке зайти черех xdm появляется диалог выбора Сессии.
Вот что у меня лежит в /etc/X11/xdm/Xsession:

#!/bin/bash --login
#
# $Xorg: Xsession,v 1.4 2000/08/17 19:54:17 cpqbld Exp $
#
#
#
#
# $XFree86: xc/programs/xdm/config/Xsession,v 1.3 2001/01/17 23:45:24 dawes Exp $

# redirect errors to a file in user's home directory if we can
for errfile in "$HOME/.xsession-errors" "${TMPDIR-/tmp}/xses-$USER" "/tmp/xses-$USER"
do
	if ( cp /dev/null "$errfile" 2> /dev/null )
	then
		chmod 600 "$errfile"
		exec > "$errfile" 2>&1
		break
	fi
done

# handle KDM
if [ -n "$1" ]; then
	export XSESSION="$1"
fi

xinitdir=/usr/X11R6/lib/X11/xinit
startup=$HOME/.xsession
userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=$xinitdir/.Xresources
sysmodmap=$xinitdir/.Xmodmap

# First run the system default.  Because KDE uses this
# to switch sessions, we MUST first check the system
# default, and then ~/.xsession.  If the user Do not
# want this, he should override XSESSION, or at least
# clear it.
if [ -n "`/etc/X11/chooser.sh`" ]; then
	exec "`/etc/X11/chooser.sh`"
# If not defined, try the user's ~/.xsession
elif [ -s "$startup" ]; then

	# merge in defaults and keymaps

	if [ -f $sysresources ]; then
		xrdb -merge $sysresources
	fi

	if [ -f $sysmodmap ]; then
		xmodmap $sysmodmap
	fi

	if [ -f $userresources ]; then
		xrdb -merge $userresources
	fi

	if [ -f $usermodmap ]; then
		xmodmap $usermodmap
	fi

	if [ -x "$startup" ]; then
		exec "$startup"
	else
		exec /bin/sh "$startup"
	fi
# Lastly, xsm as failsafe
else
	if [ -r "$userresources" ]; then
		xrdb -load "$userresources"
	fi
	exec xsm
fi

fbpanel &
openbox

anonymous
()
Ответ на: комментарий от anonymous

сотри все что ты прописал в rc.conf

сделай файл .xsession, напиши в него то что те нада, chmod 777 .xsession

должно работать, если не работает значит ты че-то мудришь! :) без вариантов! этот способ работает для любого wm!

berkuf
()
Ответ на: комментарий от berkuf

.xsession в $HOME кидать?
Или уродовать существующий /etc/X11/xdm/Xsession?

У меня же джента! И если в rc.conf не прописан wm, она вызывает после регестрирования в xdm какой-то диалог выбора сессии.

anonymous
()
Ответ на: комментарий от anonymous

Сделал как вы сказали. Все равно запускается диалог иксовый.
Я написал прогу:

#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>

int main(){
	if (fork() == -1){
		printf("\nProcess not created!\n");
		return 0;
	}
	execvp("fbpanel", 0);
	
	if (fork() == -1){
		printf("\nProcess not created!\n");
		return 0;
	}
	execvp("openbox",0);

	return 0;
}

И поместил ее в /usr/bin под именем wolf.  Прописал в /etc/rc.conf ее.
Но запускается twm.
Что не устраивает xdm? wolf такой же бинарник как и openbox. Но последний
запускается без проблем, а моя приблуда нет...

Хотя уже залогинившись прога работает. Как же вы, гентушники сидящие на openbox запускаете fbpanel?...

rubbish
()
Ответ на: комментарий от rubbish

> не .xsession а .xinitrc

на сколько я знаю .xinitrc когда иксы стартуют автоматически, то используется .xsession, а .xinitrc используется только когда с помощью startx запускаешь! я не прав?

berkuf
()
Ответ на: комментарий от berkuf

В любом случае некатит и ни так и ни так

anonymous
()

Мог бы и сам понял, если бы внимательнее почитал Xsession:
вот это:
startup=$HOME/.xsession
и вот это:
if [ -n "`/etc/X11/chooser.sh`" ]; then
	exec "`/etc/X11/chooser.sh`"
elif [ -s "$startup" ]; then
	if [ -x "$startup" ]; then
		exec "$startup"
	else
		exec /bin/sh "$startup"
	fi
fi

Делай в $HOME .xsession и пиши туда, что тебе говорили выше. Если не работает, делаешь что-то не так - поверяй

hapchu ★★
()
Ответ на: комментарий от hapchu

мля, вот специально проверил!

делаю файл .xsession с таким содержанием:

#!/bin/sh
exec gnome-terminal&
exec gnomeicu&
exec gnome-session

и кладу его в домашний каталог. потом делаю chmod 777 .xsession

reboot

все нормально работает!

вместо gnome-session пиши свой wm и все будет ок!

berkuf
()
Ответ на: комментарий от berkuf

bash-2.05b# cat ~/.xsession
#!/bin/sh
exec fbpanel&
exec idesk&
exec openbox

Появляется twm. При этом в /etc/rc.conf XSESSION="фигне"
Если XSESSION закомментировать, то появится иксовый диалог запуска сиссии.

rubbish
()
Ответ на: комментарий от berkuf

bash-2.05b# cat ~/.xsession
#!/bin/sh
exec fbpanel&
exec idesk&
exec openbox

Появляется twm. При этом в /etc/rc.conf XSESSION="фигне"
Если XSESSION закомментировать, то появится иксовый диалог запуска сиссии.

rubbish
()
Ответ на: комментарий от rubbish

Ладно, забейте.
Я сделал по-другому. Написал такую вот прогу:

#include <stdio.h>
#include <stdlib.h>

int main(){
FILE *p;
if ((p = popen("idesk", "r")) == NULL){
printf("\nCommand \"idesk\" not created!\n");
return 0;
}

if ((p = popen("fbpanel", "r")) == NULL){
printf("\nCommand \"fbpanel\" not created!\n");
return 0;
}

system("xsetbg /mnt/home/media/pictures/wallpaper/abstrac008m.jpg");
system("openbox");
return 0;
}

И положил ее в /usr/bin вместо twm.

rubbish
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.