fbpanel
fbpanel copied to clipboard
.desktop terminal applications in menu not running on debian/openbox
I'm running fbpanel
with openbox
on a minimal debian/unstable installation, I used to run fbpanel
in a very similar environment until few weeks ago without problems, but it was a 32bit arch and I needed to switch to 64.
I'm not sure this is a fbpanel
issue but fbpanel
is where it show up.
fbpanel
is launched from ~/.config/openbox/autostart
(a shell script), it works almost fine but can't get it to run .desktop/terminal applications from the menu (mc
for instance), here's fbpanel
stderr:
The TERM environment variable is unset!
If I wrapp fbpanel in a script (exporting TERM=xterm
) and launch it using gmrun
, the error become:
Cannot get terminal settings: Inappropriate ioctl for device (25)
Failed to open terminal.SLang_getkey returned SLANG_GETKEY_ERROR
Assuming EOF on stdin and exiting
That's the strace
log:
3627 fstat(0, {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 3), ...}) = 0
3627 ioctl(0, TCGETS, 0x7ffd575d5870) = -1 ENOTTY (Inappropriate ioctl for device)
3627 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f41e63a1000
3627 read(0, "", 4096) = 0
3627 write(2, "SLang_getkey returned SLANG_GETK"..., 75) = 75
3627 exit_group(1) = ?
3627 +++ exited with 1 +++
If I launch fbpanel
from a terminal the menu terminal applications are executed within the terminal.
x-terminal-emulator
is set to terminator
but xterm
is installed.
Any help would be appreciated.
Unsure if this is the same problem, related problem, or just a similar problem... But! fbpanel 6.1-r2 running on Gentoo seems to be ignoring the PATH statement in .desktop files entirely, meaning applications that need to be started from a specific path fail. The same .desktop files work flawlessly in XFCE
Aloha I wrote patch which makes possible to run terminal applications from menu.
@capt-d I can test it, just link me the patch and sources hash version to use
Aloha
I'm also using fbpanel and Openbox but on Gentoo. The TERM variable must be set before running fbpanel. Set it to desired terminal emulator in autostart.sh, otherwise its value is "linux" when fbpanel is starting. To test my patch, download main branch from fork on my account.
@capt-d I see what you did and is working, but I've a couple of concerns
the XTERM variable should be set by the terminal itself and I don't think it map always to an executable, if my understanding are correct it should label the current terminal capabilities, its profile if you want, it doesn't always map to a command, mine is empty at the time of openbox's autostart, terminator/zsh set it to xterm-256color (which is not a command)
Your patch run a terminal so XTERM should be replaced and run fine, but wouldn't be better to use a fbpanel's configuration entry to set the terminal command to use? (terminal = someterm -e %c
)
the second concern is... I think I remember fbpanel working with terminal commands, not in the recent past so I don't remember my exact environment, but I think was openbox already, so what different? Something changed? Does it really need a patch?
@capt-d so I finally took the time to look info fbpanel and this issue, it does need a patch as Terminal=true
in .desktop
files is currently ignored, the only way I had seen terminal .desktop run is if they had the terminal command already within the Exec
key.
Still, I wouldn't use XTERM
, something like FBPANEL_TERM
? so it could be exported from ~/.config/openbox/environment
Also I would trim away extra %
arguments as the current fbpanel's parser does, or you'll get errors like:
terminator: error: Additional unexpected arguments found: ['%F']
@capt-d more something like that
Aloha
You are right. Using TERM variable is not a good idea. I will write new patch.
@capt-d I'm using the one linked in the comment above from a couple of days and seems to be working fine, feel free to use the same or take and modify if you like (the concept is the same as your just the implementation a bit different)
Aloha
I've added terminal option for systemmenu in menu plugin. In my case its value is: xterm -fb green -bg black.