fbpanel icon indicating copy to clipboard operation
fbpanel copied to clipboard

.desktop terminal applications in menu not running on debian/openbox

Open xenogenesi opened this issue 9 years ago • 10 comments

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.

xenogenesi avatar Dec 29 '15 11:12 xenogenesi

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

Fluffkin avatar May 11 '16 23:05 Fluffkin

Aloha I wrote patch which makes possible to run terminal applications from menu.

capt-d avatar Jan 07 '17 22:01 capt-d

@capt-d I can test it, just link me the patch and sources hash version to use

xenogenesi avatar Jan 07 '17 23:01 xenogenesi

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 avatar Jan 08 '17 11:01 capt-d

@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?

xenogenesi avatar Jan 08 '17 13:01 xenogenesi

@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']

xenogenesi avatar Jan 08 '17 15:01 xenogenesi

@capt-d more something like that

xenogenesi avatar Jan 08 '17 16:01 xenogenesi

Aloha

You are right. Using TERM variable is not a good idea. I will write new patch.

capt-d avatar Jan 10 '17 18:01 capt-d

@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)

xenogenesi avatar Jan 10 '17 18:01 xenogenesi

Aloha

I've added terminal option for systemmenu in menu plugin. In my case its value is: xterm -fb green -bg black.

capt-d avatar Jan 14 '17 21:01 capt-d