TabFS icon indicating copy to clipboard operation
TabFS copied to clipboard

Not working on Xubuntu Linux

Open dflock opened this issue 4 years ago • 6 comments

I'm going to preface this by saying thank you very much for making this - I'm very excited for this Tabfs and I'd love to get it working!

I followed the install instructions, afict, but tabfs doesn't appear to work for me:

$ git clone https://github.com/osnr/TabFS.git

Cloning into 'TabFS'...
remote: Enumerating objects: 42, done.
remote: Counting objects: 100% (42/42), done.
remote: Compressing objects: 100% (32/32), done.
remote: Total 622 (delta 16), reused 29 (delta 10), pack-reused 580
Receiving objects: 100% (622/622), 2.14 MiB | 1.96 MiB/s, done.
Resolving deltas: 100% (321/321), done.

$ cd TabFS/
$ sudo apt install libfuse-dev

The following NEW packages will be installed:
  libfuse-dev
...
Setting up libfuse-dev (2.9.9-3) ...

$ cd fs
$ mkdir mnt

$ make
cc -DFUSE_USE_VERSION=26 -D_FILE_OFFSET_BITS=64 -Wall -Wno-unused-function -g -o tabfs tabfs.c -lfuse

$ git status
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean

$ cd ..
$ ./install.sh chrome kdnjhocmbphcdgaogeidlacbgnpnigma

+(./install.sh:6): [[ 2 -lt 1 ]]
+(./install.sh:6): [[ chrome == \f\i\r\e\f\o\x ]]
+(./install.sh:6): [[ chrome == \c\h\r\o\m\e ]]
+(./install.sh:6): [[ 2 -eq 2 ]]
+(./install.sh:6): [[ 32 -eq 32 ]]
++(./install.sh:11): uname -s
+(./install.sh:11): OS=Linux
++(./install.sh:12): echo chrome
++(./install.sh:12): tr '[:upper:]' '[:lower:]'
+(./install.sh:12): BROWSER=chrome
+(./install.sh:16): case "$OS $BROWSER" in
+(./install.sh:22): MANIFEST_LOCATION=/home/duncan/.config/google-chrome/NativeMessagingHosts
+(./install.sh:31): mkdir -p /home/duncan/.config/google-chrome/NativeMessagingHosts
+(./install.sh:33): APP_NAME=com.rsnous.tabfs
++(./install.sh:34): pwd
+(./install.sh:34): EXE_PATH=/home/duncan/dev/TabFS/fs/tabfs
+(./install.sh:36): case "$BROWSER" in
+(./install.sh:38): EXTENSION_ID=kdnjhocmbphcdgaogeidlacbgnpnigma
++(./install.sh:49): cat
+(./install.sh:49): MANIFEST='{
  "name": "com.rsnous.tabfs",
  "description": "TabFS",
  "path": "/home/duncan/dev/TabFS/fs/tabfs",
  "type": "stdio",
  "allowed_extensions": ["[email protected]"],
  "allowed_origins": ["chrome-extension://kdnjhocmbphcdgaogeidlacbgnpnigma/"]
}'
+(./install.sh:63): echo '{
  "name": "com.rsnous.tabfs",
  "description": "TabFS",
  "path": "/home/duncan/dev/TabFS/fs/tabfs",
  "type": "stdio",
  "allowed_extensions": ["[email protected]"],
  "allowed_origins": ["chrome-extension://kdnjhocmbphcdgaogeidlacbgnpnigma/"]
}'

$ git status

On branch master
Your branch is up to date with 'origin/master'.

Untracked files:
  (use "git add <file>..." to include in what will be committed)
	fs/log.txt

nothing added to commit but untracked files present (use "git add" to track)

$ cat fs/log.txt

arg0: [/home/duncan/dev/TabFS/fs/tabfs]
arg1: [chrome-extension://kdnjhocmbphcdgaogeidlacbgnpnigma/]

In the console of the extension's background page, it says this:

background.js:664 disconnect Object
_generated_background_page.html:1 Unchecked runtime.lastError: Native host has exited.
DevTools failed to load SourceMap: Could not load content for chrome-extension://kdnjhocmbphcdgaogeidlacbgnpnigma/vendor/browser-polyfill.js.map: HTTP error: status code 404, net::ERR_UNKNOWN_URL_SCHEME

I was expecting the make to do something... more than that, maybe? Although it does seem to have built fs/tabfs:

$ pwd
/home/duncan/dev/TabFS/fs

$ ls -halp
Permissions Size User   Group  Date Modified Git Name
drwxrwxr-x     - duncan duncan 31 Dec  2020   -N ./
drwxrwxr-x     - duncan duncan 31 Dec  2020   -N ../
drwxrwxr-x     - duncan duncan 31 Dec  2020   -- mnt/
drwxrwxr-x     - duncan duncan 31 Dec  2020   -- vendor/
.rw-rw-r--   101 duncan duncan 31 Dec  2020   -N log.txt
.rw-rw-r--   634 duncan duncan 31 Dec  2020   -- Makefile
.rwxrwxr-x   86k duncan duncan 31 Dec  2020   -I tabfs*
.rw-rw-r--  7.3k duncan duncan 31 Dec  2020   -- tabfs.c

System details:

OS: Ubuntu 20.04.1 LTS x86_64
Google Chrome: Version 87.0.4280.88 (Official Build) (64-bit)

What can I do to help debug & figure this out?

dflock avatar Jan 01 '21 07:01 dflock

hmm. that all looks OK... can you run the binary fs/tabfs directly from the shell and tell me what output you get?

osnr avatar Jan 01 '21 07:01 osnr

$ ./tabfs 

Usage:
 kill [options] <pid> [...]

Options:
 <pid> [...]            send signal to every <pid> listed
 -<signal>, -s, --signal <signal>
                        specify the <signal> to be sent
 -l, --list=[<signal>]  list all signal names, or convert one to a name
 -L, --table            list all signal names in a nice table

 -h, --help     display this help and exit
 -V, --version  output version information and exit

For more details see kill(1).
fusermount: entry for /home/duncan/dev/TabFS/fs/mnt not found in /etc/mtab
${"op": "getattr", "path": "/.Trash"}

dflock avatar Jan 01 '21 15:01 dflock

It didn't work for me neither until I created the fs/mnt directory via mkdir.

boi4 avatar Jan 01 '21 17:01 boi4

It didn't work for me neither until I created the fs/mnt directory via mkdir.

I did that as part of the original install.

dflock avatar Jan 01 '21 21:01 dflock

I'm having the same issue with Chrome in a CentOS docker container. I had to add this to the CFLAGS_EXTRA in the makefile to get it to compile: -std=c99 -D_POSIX_C_SOURCE=200112L

When I run ./tabfs it just sits there without returning. My log.txt file is empty.

szczys avatar Jan 12 '21 23:01 szczys

Hmm. It's hard to say what exactly is going wrong if fs/tabfs doesn't obviously crash on startup (it's really only meant to be run by the browser; we're just running it from the shell here as a quick check).

You could maybe run gdb in a mode where it waits to attach to the tabfs process when it appears, then reload the extension in the browser (which starts the tabfs process) and try to catch why it's terminating.

osnr avatar Jan 13 '21 08:01 osnr