byobu breaks $SSH_AUTH_SOCK
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
byobu |
Fix Released
|
Medium
|
Unassigned | ||
byobu (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
I'm using byobu as shipping with ubuntu maverick meerkat:
$ byobu -v
byobu version 3.5
Screen version 4.00.03jw4 (FAU) 2-May-06
I recently noticed that byobu breaks $SSH_AUTH_SOCK so that connecting the ssh-agent fails:
# Without byobu:
$ echo $SSH_AUTH_SOCK; ls -l $SSH_AUTH_SOCK
/tmp/keyring-
srwxr-xr-x 1 matthias matthias 0 2010-10-20 18:08 /tmp/keyring-
# After launching byobu:
byobu
echo $SSH_AUTH_SOCK; ls -l $SSH_AUTH_SOCK
/var/run/
ls: Zugriff auf /var/run/
# as a result every connection to the ssh-agent fails
The following lines in /usr/bin/byobu seem weird to me:
72 # Create or update ssh-agent socket
73 if [ -S "$SSH_AUTH_SOCK" ] && [ ! -h "$SSH_AUTH_SOCK" ] && [ -w "$RUN" ]; th en
74 rm -f "$RUN/$
75 ln -sf "$SSH_AUTH_SOCK" "$RUN/$
76 fi
The write flag of the directory $RUN is checked - but $RUN is not defined in /usr/bin/byobu and the symbolic link is not properly set up. Byobu-janitor contains these lines, too (lines 38-41) but sets $RUN correctly at the top of the script. Should these lines possibly be removed from /usr/bin/byobu? Otherwise, $RUN must be correctly set in /usr/bin/byobu. If I add the following two lines in byobu, it works:
[ -r "/etc/$
RUN="$SOCKETDIR
description: | updated |
Changed in byobu: | |
importance: | Undecided → Medium |
status: | New → Triaged |
Changed in byobu: | |
status: | Triaged → Incomplete |
Changed in byobu: | |
status: | Incomplete → Fix Committed |
Changed in byobu: | |
status: | Fix Committed → Fix Released |
I have to correct my statement: It does not work by simply defining $RUN in /usr/bin/byobu because on the first start, $RUN (i.e. /var/run/screen) does not exist yet and the condition -w "$RUN" will fail (the same applies to the condition in byobu-janitor). Thus the symlink will be broken. On the second start, screen (?) has created /var/run/screen, byobu-janitor will set up the symlink and everything will be fine.
It would be great if two things could be checked:
1. The additional check for the symlink in /usr/bin/byobu seems to be redundant to me - byobu-janitor would take care of that.
Remove these lines?
2. $SSH_AUTH_SOCK is broken on first startup of byobu, because it checks the existence of /var/run/screen that does not exist. Maybe the whole process with the symlinking should be reconsidered?
Thank you!