tridactyl / tridactyl

A Vim-like interface for Firefox, inspired by Vimperator/Pentadactyl.

Home Page:https://tridactyl.xyz

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Tridactyl doesn't load native after nativeinstall

ChocolateOverflow opened this issue · comments

Tridactyl version: firefox-tridactyl 1.18.1-1
Firefox version: Mozilla Firefox 76.0.1
Operating system: Manjaro linux

  • Brief description of the problem:
    Firefox loads Tridactyl just fine but native doesn't seem to work at all. I've tried both yay -S firefox-tridactyl-native and :nativeinstall but neither seems to work.

  • Steps to reproduce:

  1. Install Tridactyl with sudo pacman -S firefox-tridactyl
  2. Use yay -S firefox-tridactyl-native to install native from the AUR
  3. Restart firefox several times.
  4. :native returns Native messenger not found...
  5. Uninstall firefox-tridactyl-native
  6. Run (from installnative) curl -fsSl https://raw.githubusercontent.com/tridactyl/tridactyl/master/native/install.sh -o /tmp/trinativeinstall.sh && bash /tmp/trinativeinstall.sh master
  7. Restart firefox several times
  8. :native returns Native messenger not found...
  • Config (in a new tab, run :viewconfig, copy the url and paste it somewhere like gist.github.com):
    https://pastebin.com/n2UQbuGY

  • Contents of ~/.tridactylrc or ~/.config/tridactyl/tridactylrc (if they exist):

" vim: filetype=vim

" Allow Ctrl-a to select all in the commandline
unbind --mode=ex <C-a>

" Allow Ctrl-c to copy in the commandline
unbind --mode=ex <C-c>

set searchengine duckduckgo
set smoothscroll true
set newtab about:blank

autocmd DocStart mail.google.com mode ignore
autocmd DocStart youtube.com mode ignore

bind H tabprev
bind L tabnext
bind K forward
bind J back
  • Result of running :! echo $PATH, or ! echo %PATH% on Windows, in Tridactyl:
    No output.

  • Unix-like only: result of running printf '%c\0\0\0{"cmd": "run", "command": "echo $PATH"}' 39 | ~/.local/share/tridactyl/native_main.py in a terminal:

3{"cmd": "run", "content": "/home/user_name/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/jvm/default/bin:/opt/nessus/bin:/opt/nessus/sbin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/home/user_name/.custom/scripts/bspwm:/home/user_name/.custom/scripts/ctf:/home/user_name/.custom/scripts\n", "code": 0}

I'm running firefox with firejail. Which directories should I whitelist?

I've whitelisted them in firejail's firefox.profile:

whitelist ${HOME}/config/tridactyl/
whitelist ${HOME}/share/tridactyl/
whitelist ${HOME}/.mozilla/
whitelist ${HOME}/.mozilla/native-messaging-hosts/
whitelist /usr/bin/python3*
whitelist ${HOME}/.local/lib/python3.8/site-packages/*

However, it's still not giving me Native messenger not found. Is there something wrong with my whitelist?

@ChocolateOverflow if you enable Firejail logging with --tracelog it should tell you what the problem is. See netblue30/firejail#152

Please report back if you work it out as we should add the solution to our FAQ.

@ChocolateOverflow Did you ever figure this out? I get no output with --tracelog. No idea what else needs to be whitelisted.

Should native work out-of-the-box when Firefox is installed with Snap?
I installed native but when I run :native it tells it's not found. I'm suspecting it is because of Snap installation.

Hi there! I confirm that after installing Firefox with Nix package manager, native works, so it seems it does not work with Snap - I guess it cannot access the path where native is installed.

I've also noticed that recently Snap migrated Firefox profiles and stuff from ~/.mozilla to ~/snap/firefox/common/.mozilla. I found this as there was a replica of all my profiles in the later, and stat shows it was created last month.


Do you think this could be stated in the README/FAQ?

Also I'm not very sure if native installer could be updated to consider the new Snap path (~/snap/firefox/.mozilla/) or if on the contrary, native is not compatible with Snap.

It looks to me like native is flat-out incompatible with firefox from snaps: There's no way to give a snap a permission to launch the necessary processes. https://forum.snapcraft.io/t/native-messaging-support-in-strictly-confined-browser-snaps/26849/6

This is a particularly substantial problem because newer versions of Ubuntu ship firefox only as a snap. Since this also breaks my ability to version-control my tridactyl config, it looks like it's time for me to switch to fedora for good.

Related FF bug tracking the issue with snaps: https://bugzilla.mozilla.org/show_bug.cgi?id=1661935