[Решено] Как запустить xbindkeys при загрузке системы?

Добрый день.

Нужно запустить xbindkeys при загрузке системы. Пытаюсь делать это в .xinitrc. Процесс запускается. Висит в памяти. Но не работает.

> ps -aux | grep xbin
andrej 5261 0.0 0.0 2996 780 ? S 21:48 0:00 xbindkeys

Если сделать
> killall xbindkeys; xbindkeys
- все замечательно работает.

strace для запуска из .xinitrc и из терминала(uxterm) после загрузки windows manager-a(dwm) одинаковы (в следующих постах приведу)
env отличаются - но из того что бросилось в глаза и может иметь отношение к проблеме

DISPLAY=:0.0 - для запуска из терминала
DISPLAY=:0 - для запуска из .xinitrc

Пробовал в .xinitrc добавлять
DISPLAY=:0.0 xbindkeys
результат тот-же.

Посоветуйте что еще можно проверить/посмотреть?
Как вы запускаете xbindkeys?

strace; env - для запуска из .xinitrc: http://pastebin.com/tC5XqQGc
strace; env - для запуска из терминала: http://pastebin.com/ETvnvgqU

воспользовался

Не смогу удалить комментарии. Перенес логи в основное сообщение.

strace; env - для запуска из

strace; env - для запуска из терминала
----------------------------------------

execve("/usr/bin/xbindkeys", ["xbindkeys"], [/* 59 vars */]) = 0
brk(0) = 0x94d2000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=91273, ...}) = 0
mmap2(NULL, 91273, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7810000
close(3) = 0
open("/usr/lib/libX11.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\220c\1\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1157796, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb780f000
mmap2(NULL, 1161940, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb76f3000
mmap2(0xb780b000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x117) = 0xb780b000
close(3) = 0
open("/lib/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300k\1\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1335580, ...}) = 0
mmap2(NULL, 1341736, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb75ab000
mmap2(0xb76ed000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x142) = 0xb76ed000
mmap2(0xb76f0000, 10536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb76f0000
close(3) = 0
open("/usr/lib/libxcb.so.1", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\340\220\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=103996, ...}) = 0
mmap2(NULL, 106976, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7590000
mmap2(0xb75a9000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18) = 0xb75a9000
close(3) = 0
open("/usr/lib/libXau.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\220\v\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=9448, ...}) = 0
mmap2(NULL, 12428, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb758c000
mmap2(0xb758e000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1) = 0xb758e000
close(3) = 0
open("/usr/lib/libXdmcp.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\21\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=17632, ...}) = 0
mmap2(NULL, 20604, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7586000
mmap2(0xb758a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3) = 0xb758a000
close(3) = 0
open("/lib/libdl.so.2", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0000\n\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=9604, ...}) = 0
mmap2(NULL, 12408, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7582000
mmap2(0xb7584000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1) = 0xb7584000
close(3) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7581000
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7580000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb75806c0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
mprotect(0xb7584000, 4096, PROT_READ) = 0
mprotect(0xb758a000, 4096, PROT_READ) = 0
mprotect(0xb758e000, 4096, PROT_READ) = 0
mprotect(0xb75a9000, 4096, PROT_READ) = 0
mprotect(0xb76ed000, 8192, PROT_READ) = 0
mprotect(0xb780b000, 4096, PROT_READ) = 0
mprotect(0x804e000, 4096, PROT_READ) = 0
mprotect(0xb7844000, 4096, PROT_READ) = 0
munmap(0xb7810000, 91273) = 0
brk(0) = 0x94d2000
brk(0x94f3000) = 0x94f3000
open("/home/andrej/.xbindkeysrc", O_RDONLY) = 3
close(3) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7580728) = 20030
exit_group(0) = ?
STY=5271.pts-2.kosandry
TERM=screen
TERMCAP=SC|screen|VT 100/ANSI X3.64 virtual terminal:\
:DO=\E[%dB:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:bs:bt=\E[Z:\
:cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:ct=\E[3g:\
:do=^J:nd=\E[C:pt:rc=\E8:rs=\Ec:sc=\E7:st=\EH:up=\EM:\
:le=^H:bl=^G:cr=^M:it#8:ho=\E[H:nw=\EE:ta=^I:is=\E)0:\
:li#24:co#80:am:xn:xv:LP:sr=\EM:al=\E[L:AL=\E[%dL:\
:cs=\E[%i%d;%dr:dl=\E[M:DL=\E[%dM:dc=\E[P:DC=\E[%dP:\
:im=\E[4h:ei=\E[4l:mi:IC=\E[%d@:ks=\E[?1h\E=:\
:ke=\E[?1l\E>:vi=\E[?25l:ve=\E[34h\E[?25h:vs=\E[34l:\
:ti=\E[?1049h:te=\E[?1049l:us=\E[4m:ue=\E[24m:so=\E[3m:\
:se=\E[23m:mb=\E[5m:md=\E[1m:mr=\E[7m:me=\E[m:ms:\
:Co#8:pa#64:AF=\E[3%dm:AB=\E[4%dm:op=\E[39;49m:AX:\
:vb=\Eg:G0:as=\E(0:ae=\E(B:\
:ac=\140\140aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~..--++,,hhII00:\
:po=\E[5i:pf=\E[4i:Z0=\E[?3h:Z1=\E[?3l:k0=\E[10~:\
:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:\
:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:F1=\E[23~:\
:F2=\E[24~:F3=\E[1;2P:F4=\E[1;2Q:F5=\E[1;2R:F6=\E[1;2S:\
:F7=\E[15;2~:F8=\E[17;2~:F9=\E[18;2~:FA=\E[19;2~:kb=^H:\
:K2=\EOE:kB=\E[Z:kF=\E[1;2B:kR=\E[1;2A:*4=\E[3;2~:\
:*7=\E[1;2F:#2=\E[1;2H:#3=\E[2;2~:#4=\E[1;2D:%c=\E[6;2~:\
:%e=\E[5;2~:%i=\E[1;2C:kh=\E[1~:@1=\E[1~:kH=\E[4~:\
:@7=\E[4~:kN=\E[6~:kP=\E[5~:kI=\E[2~:kD=\E[3~:ku=\EOA:\
:kd=\EOB:kr=\EOC:kl=\EOD:km:
WINDOW=0
SHELL=/bin/zsh
MANPATH=/etc/java-config-2/current-system-vm/man:/usr/local/share/man:/usr/share/man:/usr/share/binutils-data/i686-pc-linux-gnu/2.18/man:/usr/share/gcc-data/i486-pc-linux-gnu/4.1.2/man:/usr/share/gcc-data/i686-pc-linux-gnu/4.3.4/man:/etc/java-config/system-vm/man/:/usr/lib/php5/man/:/usr/kde/3.5/share/man:/usr/qt/3/doc/man:/opt/opera/share/man
LC_NUMERIC=C
QTDIR=/usr/qt/3
USER=andrej
GDK_USE_XFT=1
CONFIG_PROTECT_MASK=/etc/gentoo-release /etc/sandbox.d /etc/env.d/java/ /etc/php/cli-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/apache2-php5/ext-active/ /etc/fonts/fonts.conf /etc/gconf /etc/terminfo /etc/ca-certificates.conf /etc/revdep-rebuild
PAGER=/usr/bin/less
XDG_CONFIG_DIRS=/etc/xdg
PATH=/usr/lib/distcc/bin:/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/i486-pc-linux-gnu/gcc-bin/4.1.2:/usr/i686-pc-linux-gnu/gcc-bin/4.3.4:/usr/kde/3.5/bin:/usr/qt/3/bin:/usr/games/bin:/home/andrej/bin:/usr/local/bin:/opt/rar
LC_MESSAGES=POSIX
PWD=/home/andrej
JAVA_HOME=/etc/java-config-2/current-system-vm
EDITOR=/usr/bin/vim
JAVAC=/etc/java-config-2/current-system-vm/bin/javac
LANG=ru_RU.UTF-8
QMAKESPEC=linux-g++
HOME=/home/andrej
SHLVL=4
JDK_HOME=/etc/java-config-2/current-system-vm
LOGNAME=andrej
LESS=-cex3M
CVS_RSH=ssh
GCC_SPECS=
CLASSPATH=.
XDG_DATA_DIRS=/usr/local/share:/usr/kde/3.5/share:/usr/share
LESSOPEN=|lesspipe.sh %s
INFOPATH=/usr/share/info:/usr/share/binutils-data/i686-pc-linux-gnu/2.18/info:/usr/share/gcc-data/i486-pc-linux-gnu/4.1.2/info:/usr/share/gcc-data/i686-pc-linux-gnu/4.3.4/info
WINDOWPATH=3
DISPLAY=:0.0
OPENGL_PROFILE=xorg-x11
LC_TIME=POSIX
CONFIG_PROTECT=/usr/share/X11/xkb /usr/kde/3.5/share/config /usr/kde/3.5/env /usr/kde/3.5/shutdown /usr/share/config
XAUTHORITY=/home/andrej/.Xauthority
WINDOWID=4194317
XTERM_VERSION=XTerm(250)
XTERM_LOCALE=ru_RU.UTF-8
XTERM_SHELL=/bin/zsh
OLDPWD=/home/andrej
_=/usr/bin/env
DISTCC_HOSTS=localhost 192.168.1.2
MOZ_DISABLE_PANGO=1
MAIL=/home/andrej/.maildir/
HELPDIR=/usr/local/lib/zsh/help
COLORTERM=mrxvt
MAILCHECK=300
HISTSIZE=5000
DIRSTACKSIZE=200
DEFAULT_CHARSET=UTF-8
G_BROKEN_FILENAMES=1
WMII_ADDRESS=unix!/tmp/ns.andrej.:0/wmii
VIM=/usr/share/vim/vim72
HISTFILE=/home/andrej/.zsh_history
SAVEHIST=5000

Мы например польхзуемся вот

Мы например пользуемся www.pastebin.com. А по теме: попробуйте actkbd -более универсальное средство, в отличии от xbindkeys

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

>> А по теме: попробуйте

>> А по теме: попробуйте actkbd -более универсальное средство, в отличии от xbindkeys

Я с ним и пытался "подружиться" в начале.

Столкнулся с 2 проблемами. Так и не смог их "победить".

1. http://www.linux.org.ru/forum/general/4198993

2. По мотивам http://www.gentoo.ru/node/16871 -
у меня клавиатура видится, например, как 2 устройства в /dev/input
/dev/input/event0 - основные клавиши
/dev/input/event8 - мультимедийные
чтобы обработать нажатия на них нужно запусть 2 копии actkbd
actkbd -D /dev/input/event0
actkbd -D /dev/input/event8
и становятся недоступными, например, комбинации типа Ctrl+XF86AudioPlay (у меня по ней плейлист открывается).
Нашел патч, "собирающий" все event* вместе, но как-то непрактично получается городить такое, тем более что все прелести
actkbd перечеркиваются п.1

А за www.pastebin.com

А за www.pastebin.com спасибо. Когда лепил эти логи мелькнула мысть - как-то же люди ссылки оставляют.

Сделал так:

Сделал так:

В .zshrc:
if [ -n "$DISPLAY" ] ; then
if [ -z `pgrep xbindkeys` ] ; then
xbindkeys
fi
fi

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".