xdg-open no debian 9 falha ao abrir o navegador

2

Eu decidi experimentar o lxdm (estava usando o fluxbox e o xfce) e descobri que, para muitos programas, o manipulador de URL estava falhando, produzindo essa mensagem de erro;

Bastanteestranho,comovocêpodever,estácolocandoodiretóriodousuárionoURL.Oexemploaquiédetelegrama,masaconteceemdiscórdia,assimcomoaoexecutarapartirdalinhadecomando;xdg-openhttps://www.google.comproduzumerrosemelhante.Ofirefox.desktopdoxdg-settingsgetdefault-web-browseroutput,quefuncionacomoumlinknoxfceenolxdm.MaisInformações;Eucorriobash-xnelee...

$bash-x/usr/bin/xdg-openhttp://www.google.com+check_common_commandshttp://www.google.com+'['1-gt0']'+parm=http://www.google.com+shift+case"$parm" in
+ '[' 0 -gt 0 ']'
+ '[' -z '' ']'
+ unset XDG_UTILS_DEBUG_LEVEL
+ '[' 0 -lt 1 ']'
+ xdg_redirect_output=' > /dev/null 2> /dev/null'
+ '[' xhttp://www.google.com '!=' x ']'
+ url=
+ '[' 1 -gt 0 ']'
+ parm=http://www.google.com
+ shift
+ case "$parm" in
+ '[' -n '' ']'
+ url=http://www.google.com
+ '[' 0 -gt 0 ']'
+ '[' -z http://www.google.com ']'
+ detectDE
+ unset GREP_OPTIONS
+ '[' -n LXDE ']'
+ case "${XDG_CURRENT_DESKTOP}" in
+ DE=lxde
+ '[' xlxde = x ']'
+ '[' xlxde = x ']'
+ '[' xlxde = x ']'
+ '[' xlxde = xgnome ']'
+ '[' -f /run/user/1000/flatpak-info ']'
+ '[' xlxde = x ']'
+ DEBUG 2 'Selected DE lxde'
+ '[' -z '' ']'
+ return 0
+ case "${BROWSER}" in
+ case "$DE" in
+ open_lxde http://www.google.com
+ pcmanfm --help -a is_file_url_or_path http://www.google.com
++ file_url_to_path http://www.google.com
++ local file=http://www.google.com
++ echo http://www.google.com
++ grep -q '^file:///'
++ echo http://www.google.com
+ local file=http://www.google.com
+ echo http://www.google.com
+ grep -q '^/'
++ pwd
+ file=/home/nesmerrill/.local/share/applications/http://www.google.com
+ pcmanfm /home/nesmerrill/.local/share/applications/http://www.google.com
+ '[' 0 -eq 0 ']'
+ exit_success
+ '[' 0 -gt 0 ']'
+ exit 0

A parte importante parece ser pcmanfm --help -a is_file_url_or_path http://www.google.com , mas esse comando, se é assim, não parece fazer muita coisa?

$ pcmanfm --help -a is_file_url_or_path http://www.google.com
Usage:
  pcmanfm [OPTION…] [FILE1, FILE2,...]  

Help Options:
  -h, --help                   Show help options
  --help-all                   Show all help options
  --help-gtk                   Show GTK+ Options

Application Options:
  -p, --profile=PROFILE        Name of configuration profile
  -d, --daemon-mode            Run PCManFM as a daemon
  --no-desktop                 No function. Just to be compatible with nautilus
  --desktop                    Launch desktop manager
  --desktop-off                Turn off desktop manager if it's running
  --desktop-pref               Open desktop preference dialog
  --one-screen                 Use --desktop option only for one screen
  -w, --set-wallpaper=FILE     Set desktop wallpaper from image FILE
  --wallpaper-mode=MODE        Set mode of desktop wallpaper. MODE=(color|stretch|fit|crop|center|tile|screen)
  --show-pref=N                Open Preferences dialog on the page N
  -n, --new-win                Open new window
  -f, --find-files             Open a Find Files window
  --role=ROLE                  Window role for usage by window manager
  --display=DISPLAY            X display to use
    
por Evil Spork 16.06.2018 / 21:37

2 respostas

2

Isso para Debian 10 (buster) , LXDE e xdg-utils 1.1.3-1 também. Há um erro de digitação no script xdg-open e a solução é a seguinte:

    --- /usr/bin/xdg-open   2018-05-20 00:18:48.000000000 +0200
+++ /home/klaumi/bin/xdg-open   2018-09-13 15:15:51.630704599 +0200
@@ -928,7 +928,7 @@
 {

     # pcmanfm only knows how to handle file:// urls and filepaths, it seems.
-    if pcmanfm --help >/dev/null 2>&1 -a is_file_url_or_path "$1"; then
+    if pcmanfm --help >/dev/null 2>$1 -a is_file_url_or_path "$1"; then
         local file="$(file_url_to_path "$1")"

         # handle relative paths

(Observe que & precisa ser substituído por $ )

    
por 13.09.2018 / 15:31
1

Confirmado para o Debian 10 (buster), LXDE, xdg-utils 1.1.3-1. Parece um bug? Uma opção que não requer edição /usr/bin/xdg-open :

  • Você pode pedir ao xdg-open para usar um manipulador de ambiente de área de trabalho diferente (ref 1 ): %código%


    
por 22.08.2018 / 04:33