[GH-ISSUE #3138] tvbrowser updates every time #1969

Closed
opened 2026-05-05 08:37:55 -06:00 by gitea-mirror · 11 comments
Owner

Originally created by @Micha-Btz on GitHub (Jan 10, 2020).
Original GitHub issue: https://github.com/netblue30/firejail/issues/3138

Hi,

I have created a profile for tvbowser, which worked correct the last year so far.

sysiphus:~/.config/firejail$ cat tvbrowser.profile 
# Persistent global definitions go here
include /etc/firejail/globals.local

# This file is overwritten during software install.
# Persistent customizations should go in a .local file.
include /etc/firejail/default.local

################################
# Generic GUI application profile
################################
include /etc/firejail/disable-common.inc
include /etc/firejail/disable-programs.inc
include /etc/firejail/disable-passwdmgr.inc
include /etc/firejail/disable-interpreters.inc

caps.drop all
netfilter
nonewprivs
noroot
protocol unix,inet,inet6
seccomp
mkdir ~/.tvbrowser
whitelist ~/.tvbrowser
tracelog
nodvd
nonewprivs
notv

disable-mnt
private-cache
private-tmp

noexec ${HOME}
noexec /tmp

Now I have upgraded the tvbroswer to version 4.2.1 and always at the start there is the migration dialog from 4.2 to 4.2.1. So it seems that the upgrade in the user directory not working right. As far as I now, tvbrowser created on update a new dir in ~/.tvbroswer with the new version. I think my profile prevents that, do you have an idea how can I solve this?

Thanks Micha

Originally created by @Micha-Btz on GitHub (Jan 10, 2020). Original GitHub issue: https://github.com/netblue30/firejail/issues/3138 Hi, I have created a profile for tvbowser, which worked correct the last year so far. ``` sysiphus:~/.config/firejail$ cat tvbrowser.profile # Persistent global definitions go here include /etc/firejail/globals.local # This file is overwritten during software install. # Persistent customizations should go in a .local file. include /etc/firejail/default.local ################################ # Generic GUI application profile ################################ include /etc/firejail/disable-common.inc include /etc/firejail/disable-programs.inc include /etc/firejail/disable-passwdmgr.inc include /etc/firejail/disable-interpreters.inc caps.drop all netfilter nonewprivs noroot protocol unix,inet,inet6 seccomp mkdir ~/.tvbrowser whitelist ~/.tvbrowser tracelog nodvd nonewprivs notv disable-mnt private-cache private-tmp noexec ${HOME} noexec /tmp ``` Now I have upgraded the tvbroswer to version 4.2.1 and always at the start there is the migration dialog from 4.2 to 4.2.1. So it seems that the upgrade in the user directory not working right. As far as I now, tvbrowser created on update a new dir in ~/.tvbroswer with the new version. I think my profile prevents that, do you have an idea how can I solve this? Thanks Micha
Author
Owner

@rusty-snake commented on GitHub (Jan 10, 2020):

Assuming /etc/firejail/globals.local and /etc/firejail/default.local are empty/not present.

What happens if you start it once without firejail?

Most likely braking options:

  • whitelist ~/.tvbrowser
  • private-cache
  • private-tmp
  • noexec ${HOME}
  • noexec /tmp
<!-- gh-comment-id:573160952 --> @rusty-snake commented on GitHub (Jan 10, 2020): Assuming `/etc/firejail/globals.local` and `/etc/firejail/default.local` are empty/not present. What happens if you start it once without firejail? Most likely braking options: - `whitelist ~/.tvbrowser` - `private-cache` - `private-tmp` - `noexec ${HOME}` - `noexec /tmp`
Author
Owner

@Micha-Btz commented on GitHub (Jan 12, 2020):

Hey,
yes, /etc/firejail/globals.local and /etc/firejail/default.local are empty, so I have removed this.
I have started tvbrowser once without firejail and the update was successfull. And if I now start tvbrower without firejail, the program runs at the ne version.

Now the really strange thing. If I start tvbrowser with firejail again, the program will perform the update and also the tv data will update if they are 3 weeks old.

  1 # Persistent global definitions go here
   2 
   3 ################################
   4 # Generic GUI application profile
   5 ################################
   6 include /etc/firejail/disable-common.inc
   7 include /etc/firejail/disable-programs.inc
   8 include /etc/firejail/disable-passwdmgr.inc
   9 include /etc/firejail/disable-interpreters.inc
  10 
  11 caps.drop all
  12 netfilter
  13 nonewprivs
  14 noroot
  15 protocol unix,inet,inet6
  16 #seccomp
  17 noblacklist ~/.tvbrowser
  18 mkdir ~/.tvbrowser
  19 whitelist ~/.tvbrowser
  20 
  21 #tracelog
  22 #nodvd
  23 #nonewprivs
  24 #notv
  25 
  26 #disable-mnt
  27 #private-cache
  28 #private-tmp
  29 
  30 #noexec ${HOME}
  31 #noexec /tmp

With this profile I have tested it. Seems to be two different ~/.tvbroswer.
Is there a difference between ${HOME} and ~ in profile?

Can I debug this to see which directorys are really whitelistet and is it possible to start an xterm or so with the tvbrowser profile to check the dirs and file?

<!-- gh-comment-id:573401923 --> @Micha-Btz commented on GitHub (Jan 12, 2020): Hey, yes, /etc/firejail/globals.local and /etc/firejail/default.local are empty, so I have removed this. I have started tvbrowser once without firejail and the update was successfull. And if I now start tvbrower without firejail, the program runs at the ne version. Now the really strange thing. If I start tvbrowser with firejail again, the program will perform the update and also the tv data will update if they are 3 weeks old. ``` 1 # Persistent global definitions go here 2 3 ################################ 4 # Generic GUI application profile 5 ################################ 6 include /etc/firejail/disable-common.inc 7 include /etc/firejail/disable-programs.inc 8 include /etc/firejail/disable-passwdmgr.inc 9 include /etc/firejail/disable-interpreters.inc 10 11 caps.drop all 12 netfilter 13 nonewprivs 14 noroot 15 protocol unix,inet,inet6 16 #seccomp 17 noblacklist ~/.tvbrowser 18 mkdir ~/.tvbrowser 19 whitelist ~/.tvbrowser 20 21 #tracelog 22 #nodvd 23 #nonewprivs 24 #notv 25 26 #disable-mnt 27 #private-cache 28 #private-tmp 29 30 #noexec ${HOME} 31 #noexec /tmp ``` With this profile I have tested it. Seems to be two different ~/.tvbroswer. Is there a difference between ${HOME} and ~ in profile? Can I debug this to see which directorys are really whitelistet and is it possible to start an xterm or so with the tvbrowser profile to check the dirs and file?
Author
Owner

@rusty-snake commented on GitHub (Jan 12, 2020):

Is there a difference between ${HOME} and ~ in profile?

AFAIK not.

Can I debug this to see which directorys are really whitelistet and is it possible to start an xterm or so with the tvbrowser profile to check the dirs and file?

firejail --debug tvbrowser or firejail --debug-whitelists tvbrowser (there are more --debug-*, see the manpage) and firejail --profile=tvbrowser bash or firejail --profile=tvbrowser xterm


We could also bring a tvbrowser-profile upstream, I created a draft based on your profile. (firejail 0.9.62+)

tvbrowser.profile
# Firejail profile for tvbrowser
# Description: DESCRIPTION
# This file is overwritten after every install/update
# Persistent local customizations
include tvbrowser.local
# Persistent global definitions
include globals.local

# TODO: (no)blacklist
noblacklist ${HOME}/.tvbrowser

include disable-common.inc
include disable-devel.inc
include disable-exec.inc
include disable-interpreters.inc
include disable-passwdmgr.inc
include disable-programs.inc
include disable-xdg.inc

mkdir ${HOME}/.tvbrowser
whitelist ${HOME}/.tvbrowser
include whitelist-common.inc
#X-: include whitelist-usr-share-common.inc
include whitelist-var-common.inc

apparmor
caps.drop all
netfilter
#X: no3d
#X: nodbus
nodvd
#X: nogroups
nonewprivs
noroot
notv
#X: nou2f
#X: novideo
protocol unix,inet,inet6
seccomp
shell none
tracelog

disable-mnt
#X: private-bin tvbrowser
private-cache
#X: private-dev
#X-: private-etc
private-tmp

#X: memory-deny-write-execute
<!-- gh-comment-id:573402674 --> @rusty-snake commented on GitHub (Jan 12, 2020): > Is there a difference between ${HOME} and ~ in profile? AFAIK not. > Can I debug this to see which directorys are really whitelistet and is it possible to start an xterm or so with the tvbrowser profile to check the dirs and file? `firejail --debug tvbrowser` or `firejail --debug-whitelists tvbrowser` (there are more --debug-*, see the manpage) and `firejail --profile=tvbrowser bash` or `firejail --profile=tvbrowser xterm` --- We could also bring a tvbrowser-profile upstream, I created a draft based on your profile. (firejail 0.9.62+) <details><summary>tvbrowser.profile</summary> ``` # Firejail profile for tvbrowser # Description: DESCRIPTION # This file is overwritten after every install/update # Persistent local customizations include tvbrowser.local # Persistent global definitions include globals.local # TODO: (no)blacklist noblacklist ${HOME}/.tvbrowser include disable-common.inc include disable-devel.inc include disable-exec.inc include disable-interpreters.inc include disable-passwdmgr.inc include disable-programs.inc include disable-xdg.inc mkdir ${HOME}/.tvbrowser whitelist ${HOME}/.tvbrowser include whitelist-common.inc #X-: include whitelist-usr-share-common.inc include whitelist-var-common.inc apparmor caps.drop all netfilter #X: no3d #X: nodbus nodvd #X: nogroups nonewprivs noroot notv #X: nou2f #X: novideo protocol unix,inet,inet6 seccomp shell none tracelog disable-mnt #X: private-bin tvbrowser private-cache #X: private-dev #X-: private-etc private-tmp #X: memory-deny-write-execute ``` </details>
Author
Owner

@Micha-Btz commented on GitHub (Jan 12, 2020):

So, the point is that tvbrowser moved the user home dir from ~/.tvbrowser to ~/.config/tvbrowser.
If I change my profile, it worked again.

I have tested your profile, but I can't get it to work. I need to disable appamor and then it misses java. I have added some lines for java from the other profiles, but something is missing.

 Firejail profile for tvbrowser
# Description: DESCRIPTION
# This file is overwritten after every install/update
# Persistent local customizations
include tvbrowser.local
# Persistent global definitions
include globals.local

# TODO: (no)blacklist
noblacklist ${HOME}/.config/tvbrowser

include disable-common.inc
include disable-devel.inc
include disable-exec.inc
include disable-interpreters.inc
include disable-passwdmgr.inc
include disable-programs.inc
include disable-xdg.inc

#java
include allow-java.inc
mkdir ${HOME}/.java
whitelist ${HOME}/.java
include whitelist-common.inc

mkdir ${HOME}/.config/tvbrowser
whitelist ${HOME}/.config/tvbrowser
include whitelist-common.inc
#X-: include whitelist-usr-share-common.inc
include whitelist-var-common.inc

#apparmor
caps.drop all
netfilter
#X: no3d
#X: nodbus
nodvd
#X: nogroups
nonewprivs
noroot
notv
#X: nou2f
#X: novideo
protocol unix,inet,inet6
seccomp
shell none
tracelog

disable-mnt
#X: private-bin tvbrowser
private-cache
#X: private-dev
#X-: private-etc
private-tmp

#X: memory-deny-write-execute
starting application
LD_PRELOAD=(null)
execvp argument 0: tvbrowser
Child process initialized in 127.60 ms
Searching $PATH for tvbrowser
trying #/usr/local/bin/tvbrowser#
Installing /run/firejail/mnt/seccomp/seccomp seccomp filter
Installing /run/firejail/mnt/seccomp/seccomp.32 seccomp filter
Installing /run/firejail/mnt/seccomp/seccomp.protocol seccomp filter
Warning: an existing sandbox was detected. /usr/bin/tvbrowser will run without any additional sandboxing features
Starting TV-Browser...
Java exec found in PATH. Verifying...
OOPS, you don't seem to have a valid JRE [java = ./tvbrowser.sh:]
You need to upgrade to JRE 8 or newer from http://java.sun.com
ls: Zugriff auf '/usr/java' nicht möglich: Datei oder Verzeichnis nicht gefunden
OOPS, unable to locate java exec in  /usr/java/  hierarchy
You need to upgrade to JRE 8 or newer from http://java.sun.com
monitoring pid 10

Sandbox monitor: waitpid 10 retval 10 status 256

Parent is shutting down, bye...
<!-- gh-comment-id:573426268 --> @Micha-Btz commented on GitHub (Jan 12, 2020): So, the point is that tvbrowser moved the user home dir from ~/.tvbrowser to ~/.config/tvbrowser. If I change my profile, it worked again. I have tested your profile, but I can't get it to work. I need to disable appamor and then it misses java. I have added some lines for java from the other profiles, but something is missing. ``` Firejail profile for tvbrowser # Description: DESCRIPTION # This file is overwritten after every install/update # Persistent local customizations include tvbrowser.local # Persistent global definitions include globals.local # TODO: (no)blacklist noblacklist ${HOME}/.config/tvbrowser include disable-common.inc include disable-devel.inc include disable-exec.inc include disable-interpreters.inc include disable-passwdmgr.inc include disable-programs.inc include disable-xdg.inc #java include allow-java.inc mkdir ${HOME}/.java whitelist ${HOME}/.java include whitelist-common.inc mkdir ${HOME}/.config/tvbrowser whitelist ${HOME}/.config/tvbrowser include whitelist-common.inc #X-: include whitelist-usr-share-common.inc include whitelist-var-common.inc #apparmor caps.drop all netfilter #X: no3d #X: nodbus nodvd #X: nogroups nonewprivs noroot notv #X: nou2f #X: novideo protocol unix,inet,inet6 seccomp shell none tracelog disable-mnt #X: private-bin tvbrowser private-cache #X: private-dev #X-: private-etc private-tmp #X: memory-deny-write-execute ``` ``` starting application LD_PRELOAD=(null) execvp argument 0: tvbrowser Child process initialized in 127.60 ms Searching $PATH for tvbrowser trying #/usr/local/bin/tvbrowser# Installing /run/firejail/mnt/seccomp/seccomp seccomp filter Installing /run/firejail/mnt/seccomp/seccomp.32 seccomp filter Installing /run/firejail/mnt/seccomp/seccomp.protocol seccomp filter Warning: an existing sandbox was detected. /usr/bin/tvbrowser will run without any additional sandboxing features Starting TV-Browser... Java exec found in PATH. Verifying... OOPS, you don't seem to have a valid JRE [java = ./tvbrowser.sh:] You need to upgrade to JRE 8 or newer from http://java.sun.com ls: Zugriff auf '/usr/java' nicht möglich: Datei oder Verzeichnis nicht gefunden OOPS, unable to locate java exec in /usr/java/ hierarchy You need to upgrade to JRE 8 or newer from http://java.sun.com monitoring pid 10 Sandbox monitor: waitpid 10 retval 10 status 256 Parent is shutting down, bye... ```
Author
Owner

@rusty-snake commented on GitHub (Jan 12, 2020):

So, the point is that tvbrowser moved the user home dir from ~/.tvbrowser to ~/.config/tvbrowser.
If I change my profile, it worked again.

🎉

@Micha-Btz the allow incude must come before the disable include

tvbrowser.profile
# Firejail profile for tvbrowser
# Description: DESCRIPTION
# This file is overwritten after every install/update
# Persistent local customizations
include tvbrowser.local
# Persistent global definitions
include globals.local

# TODO: noblacklist
noblacklist ${HOME}/.tvbrowser

# Allow java (blacklisted by disable-devel.inc)
include allow-java.inc

include disable-common.inc
include disable-devel.inc
include disable-exec.inc
include disable-interpreters.inc
include disable-passwdmgr.inc
include disable-programs.inc
include disable-xdg.inc

mkdir ${HOME}/.java
mkdir ${HOME}/.tvbrowser
mkdir ${HOME}/.config/tvbrowser
whitelist ${HOME}/.java
whitelist ${HOME}/.tvbrowser
whitelist ${HOME}/.config/tvbrowser
include whitelist-common.inc
#X: include whitelist-usr-share-common.inc
include whitelist-var-common.inc

caps.drop all
netfilter
#X: no3d
#X: nodbus
nodvd
#X: nogroups
nonewprivs
noroot
notv
#X: nou2f
#X: novideo
protocol unix,inet,inet6
seccomp
shell none
tracelog

disable-mnt
#X: private-bin tvbrowser
private-cache
#X: private-dev
#X: private-etc
private-tmp

#X: memory-deny-write-execute
<!-- gh-comment-id:573427087 --> @rusty-snake commented on GitHub (Jan 12, 2020): > So, the point is that tvbrowser moved the user home dir from ~/.tvbrowser to ~/.config/tvbrowser. If I change my profile, it worked again. :tada: @Micha-Btz the allow incude must come before the disable include <details><summary>tvbrowser.profile</summary> ``` # Firejail profile for tvbrowser # Description: DESCRIPTION # This file is overwritten after every install/update # Persistent local customizations include tvbrowser.local # Persistent global definitions include globals.local # TODO: noblacklist noblacklist ${HOME}/.tvbrowser # Allow java (blacklisted by disable-devel.inc) include allow-java.inc include disable-common.inc include disable-devel.inc include disable-exec.inc include disable-interpreters.inc include disable-passwdmgr.inc include disable-programs.inc include disable-xdg.inc mkdir ${HOME}/.java mkdir ${HOME}/.tvbrowser mkdir ${HOME}/.config/tvbrowser whitelist ${HOME}/.java whitelist ${HOME}/.tvbrowser whitelist ${HOME}/.config/tvbrowser include whitelist-common.inc #X: include whitelist-usr-share-common.inc include whitelist-var-common.inc caps.drop all netfilter #X: no3d #X: nodbus nodvd #X: nogroups nonewprivs noroot notv #X: nou2f #X: novideo protocol unix,inet,inet6 seccomp shell none tracelog disable-mnt #X: private-bin tvbrowser private-cache #X: private-dev #X: private-etc private-tmp #X: memory-deny-write-execute ``` </details>
Author
Owner

@Micha-Btz commented on GitHub (Jan 12, 2020):

the allow incude must come before the disable include

then the profile works.

<!-- gh-comment-id:573427643 --> @Micha-Btz commented on GitHub (Jan 12, 2020): > the allow incude must come before the disable include then the profile works.
Author
Owner

@rusty-snake commented on GitHub (Jan 17, 2020):

@Micha-Btz just if you have the time: would you be so kind to check which options prefixed #X: (https://github.com/netblue30/firejail/issues/3138#issuecomment-573402674) can be used. Lines prefixed with #X-: will need additional work.

<!-- gh-comment-id:575738355 --> @rusty-snake commented on GitHub (Jan 17, 2020): @Micha-Btz just if you have the time: would you be so kind to check which options prefixed `#X: ` (https://github.com/netblue30/firejail/issues/3138#issuecomment-573402674) can be used. Lines prefixed with `#X-: ` will need additional work.
Author
Owner

@Micha-Btz commented on GitHub (Jan 17, 2020):

include whitelist-usr-share-common.inc

/usr/bin/tvbrowser: 2: cd: can't cd to /usr/share/tvbrowser
/usr/bin/tvbrowser: 3: exec: ./tvbrowser.sh: not found

apparmor leads to permission denided

/usr/bin/tvbrowser:` 3: exec: ./tvbrowser.sh: Permission denied

private-bin tvbrowser

Warning: networking feature is disabled in Firejail configuration file
Parent pid 35425, child pid 35426
1 program installed in 6.06 ms
Warning: An abstract unix socket for session D-BUS might still be available. Use --net or remove unix from --protocol set.
Blacklist violations are logged to syslog
Child process initialized in 83.48 ms

Parent is shutting down, bye...

memory-deny-write-execute

ls: cannot access '/usr/java': No such file or directory

private-etc seems to need some arguments. so I take them fro the seahorse profile, but didn't work.
private-etc ca-certificates,crypto-policies,dconf,fonts,gconf,gtk-2.0,gtk-3.0,host.conf,hostname,hosts,ld.so.preload,nsswitch.conf,pango,pki,protocols,resolv.conf, rpc,services,ssh,ssl
leads to

tarting TV-Browser...
Java exec not found in PATH, starting auto-search...
ls: cannot access '/usr/java': No such file or directory
OOPS, unable to locate java exec in /usr/java/ hierarchy

This I don't understand, why private etc leads to missing access to /usr/java. Also
private-etc java,java-11-openjdk, doesn't work, will leave it out for now.

This is the full profile, maybe we should add $HOME/.tvbrowser for older versions of tvbrowser.

# Firejail profile for tvbrowser
# Description: java tv programm form tvbrowser.org
# This file is overwritten after every install/update
# Persistent local customizations
include tvbrowser.local
# Persistent global definitions
include globals.local

noblacklist ${HOME}/.config/tvbrowser

# Allow java (blacklisted by disable-devel.inc)
include allow-java.inc

include disable-common.inc
include disable-devel.inc
include disable-exec.inc
include disable-interpreters.inc
include disable-passwdmgr.inc
include disable-programs.inc
include disable-xdg.inc

mkdir ${HOME}/.config/tvbrowser
whitelist ${HOME}/.config/tvbrowser
include whitelist-common.inc
include whitelist-var-common.inc

caps.drop all
netfilter
no3d
nodbus
nodvd
nogroups
nonewprivs
noroot
notv
nou2f
novideo
protocol unix,inet,inet6
seccomp
shell none
tracelog

disable-mnt
private-cache
private-dev
#private-etc java,java-11-openjdk,
private-tmp
<!-- gh-comment-id:575750267 --> @Micha-Btz commented on GitHub (Jan 17, 2020): include whitelist-usr-share-common.inc > /usr/bin/tvbrowser: 2: cd: can't cd to /usr/share/tvbrowser > /usr/bin/tvbrowser: 3: exec: ./tvbrowser.sh: not found apparmor leads to permission denided > /usr/bin/tvbrowser:` 3: exec: ./tvbrowser.sh: Permission denied private-bin tvbrowser > Warning: networking feature is disabled in Firejail configuration file > Parent pid 35425, child pid 35426 > 1 program installed in 6.06 ms > Warning: An abstract unix socket for session D-BUS might still be available. Use --net or remove unix from --protocol set. > Blacklist violations are logged to syslog > Child process initialized in 83.48 ms > > Parent is shutting down, bye... memory-deny-write-execute > ls: cannot access '/usr/java': No such file or directory private-etc seems to need some arguments. so I take them fro the seahorse profile, but didn't work. private-etc ca-certificates,crypto-policies,dconf,fonts,gconf,gtk-2.0,gtk-3.0,host.conf,hostname,hosts,ld.so.preload,nsswitch.conf,pango,pki,protocols,resolv.conf, rpc,services,ssh,ssl leads to > tarting TV-Browser... > Java exec not found in PATH, starting auto-search... > ls: cannot access '/usr/java': No such file or directory > OOPS, unable to locate java exec in /usr/java/ hierarchy This I don't understand, why private etc leads to missing access to /usr/java. Also private-etc java,java-11-openjdk, doesn't work, will leave it out for now. This is the full profile, maybe we should add $HOME/.tvbrowser for older versions of tvbrowser. ``` # Firejail profile for tvbrowser # Description: java tv programm form tvbrowser.org # This file is overwritten after every install/update # Persistent local customizations include tvbrowser.local # Persistent global definitions include globals.local noblacklist ${HOME}/.config/tvbrowser # Allow java (blacklisted by disable-devel.inc) include allow-java.inc include disable-common.inc include disable-devel.inc include disable-exec.inc include disable-interpreters.inc include disable-passwdmgr.inc include disable-programs.inc include disable-xdg.inc mkdir ${HOME}/.config/tvbrowser whitelist ${HOME}/.config/tvbrowser include whitelist-common.inc include whitelist-var-common.inc caps.drop all netfilter no3d nodbus nodvd nogroups nonewprivs noroot notv nou2f novideo protocol unix,inet,inet6 seccomp shell none tracelog disable-mnt private-cache private-dev #private-etc java,java-11-openjdk, private-tmp ```
Author
Owner

@rusty-snake commented on GitHub (Jan 17, 2020):

Thanks.

Can you try include whitelist-usr-share-common.inc and whitelist /ust/share/tvbrowser

This I don't understand, why private etc leads to missing access to /usr/java. Also
private-etc java,java-11-openjdk, doesn't work, will leave it out for now.

/usr/bin/java is often a symlink to /etc/alternatives/java.

This is the full profile, maybe we should add $HOME/.tvbrowser for older versions of tvbrowser.

Yes.

5b37edbc10/etc/templates/profile.template (L158-L170)

<!-- gh-comment-id:575754240 --> @rusty-snake commented on GitHub (Jan 17, 2020): Thanks. Can you try `include whitelist-usr-share-common.inc` and `whitelist /ust/share/tvbrowser` > This I don't understand, why private etc leads to missing access to /usr/java. Also private-etc java,java-11-openjdk, doesn't work, will leave it out for now. `/usr/bin/java` is often a symlink to `/etc/alternatives/java`. > This is the full profile, maybe we should add $HOME/.tvbrowser for older versions of tvbrowser. Yes. https://github.com/netblue30/firejail/blob/5b37edbc10650722fc57b33c008c474d5d2381d4/etc/templates/profile.template#L158-L170
Author
Owner

@Micha-Btz commented on GitHub (Jan 17, 2020):

include whitelist-usr-share-common.inc and whitelist /usr/share/tvbrowser - works.
with
private-etc java,java-11-openjdk,alternatives,alternatives,ld.so.cache,ld.so.conf,ld.so.conf.d,ld.so.preload,locale,locale.alias,locale.conf,localtime,mime.types,xdg

the program starts but have a lot of problems. and also my conifg is not available, will leave it out.

tvbrowser 
Reading profile /home/mdomann/.config/firejail/tvbrowser.profile
Reading profile /etc/firejail/allow-java.inc
Reading profile /etc/firejail/disable-common.inc
Reading profile /etc/firejail/disable-devel.inc
Reading profile /etc/firejail/disable-exec.inc
Reading profile /etc/firejail/disable-interpreters.inc
Reading profile /etc/firejail/disable-passwdmgr.inc
Reading profile /etc/firejail/disable-programs.inc
Reading profile /etc/firejail/disable-xdg.inc
Reading profile /etc/firejail/whitelist-common.inc
Reading profile /etc/firejail/whitelist-var-common.inc
Reading profile /etc/firejail/whitelist-usr-share-common.inc
Warning: networking feature is disabled in Firejail configuration file
Parent pid 43557, child pid 43558
Warning fcopy: skipping /etc/alternatives/hsdb, cannot find inode
Warning fcopy: skipping /etc/alternatives/clhsdb, cannot find inode
Private /etc installed in 13.35 ms
Warning: An abstract unix socket for session D-BUS might still be available. Use --net or remove unix from --protocol set.
Warning: cleaning all supplementary groups
Warning: cleaning all supplementary groups
Blacklist violations are logged to syslog
Child process initialized in 110.52 ms
Starting TV-Browser...
Java exec found in PATH. Verifying...
Suitable java version found [java = 11.0.6 2020-01-14]
Configuring environment...
Loading TV-Browser:
java -Xms16m -Xmx1G --module-path=lib:tvbrowser.jar -Djava.library.path="/usr/share/tvbrowser" -splash:imgs/splash.png -Dpropertiesfile=linux.properties -m tvbrowser/tvbrowser.TVBrowser ''
command line options:
    -minimized      The main window will be minimized after start up
    -nostartscreen  No start screen during start up
    -fullscreen     Start in fullscreen-mode
    -ignorejvm      Don't check for Sun Java
    -safemode       Don't load Plugins

19:11:48 INFORMATION: Search for settings import in: '?/.config/tvbrowser'
19:11:48 INFORMATION: Search for settings import in: '?/.tvbrowser'
19:11:48 INFORMATION: No previous version of TV-Browser found - using default user settings
19:11:48 INFORMATION: Creating ?/.config/tvbrowser/4.2.1
19:11:48 WARNUNG: Datei oder Verzeichnis nicht gefunden
java.io.IOException: Datei oder Verzeichnis nicht gefunden
	at java.base/java.io.UnixFileSystem.createFileExclusively(Native Method)
	at java.base/java.io.File.createNewFile(File.java:1026)
	at tvbrowser/tvbrowser.TVBrowser.createLockFile(TVBrowser.java:1078)
	at tvbrowser/tvbrowser.TVBrowser.main(TVBrowser.java:393)
19:11:48 WARNUNG: Datei oder Verzeichnis nicht gefunden
java.io.IOException: Datei oder Verzeichnis nicht gefunden
	at java.base/java.io.UnixFileSystem.createFileExclusively(Native Method)
	at java.base/java.io.File.createNewFile(File.java:1026)
	at tvbrowser/tvbrowser.TVBrowser.createLockFile(TVBrowser.java:1078)
	at tvbrowser/tvbrowser.TVBrowser.createLockGlobalToggle(TVBrowser.java:1004)
	at tvbrowser/tvbrowser.TVBrowser.main(TVBrowser.java:398)
Fontconfig error: Cannot load default config file
19:11:48 WARNUNG: Could not create plugins folder /usr/share/tvbrowser/?/.config/tvbrowser/4.2.1/plugins
Fontconfig error: Cannot load default config file
19:11:53 SCHWERWIEGEND: Could not store reminder data.
java.io.FileNotFoundException: ?/.config/tvbrowser/4.2.1/reminder.dat.temp (Datei oder Verzeichnis nicht gefunden)
	at java.base/java.io.FileOutputStream.open0(Native Method)
	at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298)
	at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:237)
	at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:187)
	at tvbrowser/util.io.stream.StreamUtilities.objectOutputStream(StreamUtilities.java:342)
	at tvbrowser/tvbrowser.extras.reminderplugin.ReminderPlugin.store(ReminderPlugin.java:454)
	at tvbrowser/tvbrowser.extras.reminderplugin.ReminderPlugin.saveReminders(ReminderPlugin.java:955)
	at tvbrowser/tvbrowser.extras.reminderplugin.ReminderPlugin.updateRootNode(ReminderPlugin.java:935)
	at tvbrowser/tvbrowser.extras.reminderplugin.ReminderPlugin.updateRootNode(ReminderPlugin.java:951)
	at tvbrowser/tvbrowser.extras.favoritesplugin.FavoritesPlugin.updateRootNode(FavoritesPlugin.java:1274)
	at tvbrowser/tvbrowser.extras.favoritesplugin.FavoritesPlugin.handleTvBrowserStartFinished(FavoritesPlugin.java:457)
	at tvbrowser/tvbrowser.extras.favoritesplugin.FavoritesPluginProxy.handleTvBrowserStartFinished(FavoritesPluginProxy.java:217)
	at tvbrowser/tvbrowser.TVBrowser$2.run(TVBrowser.java:573)
19:11:53 SCHWERWIEGEND: Could not store reminder settings.
java.io.IOException: Could not store settings to /usr/share/tvbrowser/?/.config/tvbrowser/4.2.1/reminderplugin.ReminderPlugin.prop.temp
	at tvbrowser/tvbrowser.extras.common.ConfigurationHandler.storeSettings(ConfigurationHandler.java:169)
	at tvbrowser/tvbrowser.extras.reminderplugin.ReminderPlugin.store(ReminderPlugin.java:469)
	at tvbrowser/tvbrowser.extras.reminderplugin.ReminderPlugin.saveReminders(ReminderPlugin.java:955)
	at tvbrowser/tvbrowser.extras.reminderplugin.ReminderPlugin.updateRootNode(ReminderPlugin.java:935)
	at tvbrowser/tvbrowser.extras.reminderplugin.ReminderPlugin.updateRootNode(ReminderPlugin.java:951)
	at tvbrowser/tvbrowser.extras.favoritesplugin.FavoritesPlugin.updateRootNode(FavoritesPlugin.java:1274)
	at tvbrowser/tvbrowser.extras.favoritesplugin.FavoritesPlugin.handleTvBrowserStartFinished(FavoritesPlugin.java:457)
	at tvbrowser/tvbrowser.extras.favoritesplugin.FavoritesPluginProxy.handleTvBrowserStartFinished(FavoritesPluginProxy.java:217)
	at tvbrowser/tvbrowser.TVBrowser$2.run(TVBrowser.java:573)
Caused by: java.io.FileNotFoundException: ?/.config/tvbrowser/4.2.1/reminderplugin.ReminderPlugin.prop.temp (Datei oder Verzeichnis nicht gefunden)
	at java.base/java.io.FileOutputStream.open0(Native Method)
	at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298)
	at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:237)
	at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:187)
	at tvbrowser/tvbrowser.extras.common.ConfigurationHandler.storeSettings(ConfigurationHandler.java:158)
	... 8 more
java.io.FileNotFoundException: ?/.config/tvbrowser/4.2.1/programConfigurations.dat (Datei oder Verzeichnis nicht gefunden)
	at java.base/java.io.FileOutputStream.open0(Native Method)
	at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298)
	at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:237)
	at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:187)
	at tvbrowser/util.io.stream.StreamUtilities.objectOutputStream(StreamUtilities.java:342)
	at tvbrowser/util.io.stream.StreamUtilities.objectOutputStreamIgnoringExceptions(StreamUtilities.java:392)
	at tvbrowser/tvbrowser.core.plugin.programformating.GlobalPluginProgramFormatingManager.store(GlobalPluginProgramFormatingManager.java:124)
	at tvbrowser/tvbrowser.core.plugin.programformating.GlobalPluginProgramFormatingManager$1.run(GlobalPluginProgramFormatingManager.java:77)
Fontconfig error: Cannot load default config file
19:11:56 SCHWERWIEGEND: Konnte Such-Historie nicht speichern
java.io.FileNotFoundException: ?/.config/tvbrowser/4.2.1/searchplugin.SearchPlugin.dat.temp (Datei oder Verzeichnis nicht gefunden)
	at java.base/java.io.FileOutputStream.open0(Native Method)
	at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298)
	at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:237)
	at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:187)
	at tvbrowser/util.io.stream.StreamUtilities.objectOutputStream(StreamUtilities.java:342)
	at tvbrowser/tvbrowser.extras.common.ConfigurationHandler.storeData(ConfigurationHandler.java:107)
	at tvbrowser/tvbrowser.extras.searchplugin.SearchPlugin.store(SearchPlugin.java:116)
	at tvbrowser/tvbrowser.TVBrowser.flushSettings(TVBrowser.java:1302)
	at tvbrowser/tvbrowser.TVBrowser$2$1.windowIconified(TVBrowser.java:588)
	at java.desktop/java.awt.AWTEventMulticaster.windowIconified(AWTEventMulticaster.java:378)
	at java.desktop/java.awt.AWTEventMulticaster.windowIconified(AWTEventMulticaster.java:377)
	at java.desktop/java.awt.Window.processWindowEvent(Window.java:2084)
	at java.desktop/javax.swing.JFrame.processWindowEvent(JFrame.java:298)
	at java.desktop/java.awt.Window.processEvent(Window.java:2037)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5008)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
	at tvbrowser/util.ui.textcomponentpopup.TextComponentPopupEventQueue.dispatchEvent(TextComponentPopupEventQueue.java:55)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
19:11:58 SCHWERWIEGEND: Could not store settings for programinfo.
java.io.IOException: Could not store settings to /usr/share/tvbrowser/?/.config/tvbrowser/4.2.1/programinfo.ProgramInfo.prop.temp
	at tvbrowser/tvbrowser.extras.common.ConfigurationHandler.storeSettings(ConfigurationHandler.java:169)
	at tvbrowser/tvbrowser.extras.programinfo.ProgramInfoSettings.storeSettings(ProgramInfoSettings.java:246)
	at tvbrowser/tvbrowser.extras.programinfo.ProgramInfo.store(ProgramInfo.java:181)
	at tvbrowser/tvbrowser.TVBrowser.flushSettings(TVBrowser.java:1303)
	at tvbrowser/tvbrowser.TVBrowser$2$1.windowIconified(TVBrowser.java:588)
	at java.desktop/java.awt.AWTEventMulticaster.windowIconified(AWTEventMulticaster.java:378)
	at java.desktop/java.awt.AWTEventMulticaster.windowIconified(AWTEventMulticaster.java:377)
	at java.desktop/java.awt.Window.processWindowEvent(Window.java:2084)
	at java.desktop/javax.swing.JFrame.processWindowEvent(JFrame.java:298)
	at java.desktop/java.awt.Window.processEvent(Window.java:2037)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5008)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
	at tvbrowser/util.ui.textcomponentpopup.TextComponentPopupEventQueue.dispatchEvent(TextComponentPopupEventQueue.java:55)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: java.io.FileNotFoundException: ?/.config/tvbrowser/4.2.1/programinfo.ProgramInfo.prop.temp (Datei oder Verzeichnis nicht gefunden)
	at java.base/java.io.FileOutputStream.open0(Native Method)
	at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298)
	at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:237)
	at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:187)
	at tvbrowser/tvbrowser.extras.common.ConfigurationHandler.storeSettings(ConfigurationHandler.java:158)
	... 31 more
19:11:59 SCHWERWIEGEND: [Settings.error.1#Error when saving settings!
(/usr/share/tvbrowser/?/.config/tvbrowser/4.2.1/settings.prop)]
util.exc.TvBrowserException: [Settings.error.1#Error when saving settings!
(/usr/share/tvbrowser/?/.config/tvbrowser/4.2.1/settings.prop)]
	at tvbrowser/tvbrowser.core.Settings.storeSettings(Settings.java:337)
	at tvbrowser/tvbrowser.TVBrowser.flushSettings(TVBrowser.java:1332)
	at tvbrowser/tvbrowser.TVBrowser$2$1.windowIconified(TVBrowser.java:588)
	at java.desktop/java.awt.AWTEventMulticaster.windowIconified(AWTEventMulticaster.java:378)
	at java.desktop/java.awt.AWTEventMulticaster.windowIconified(AWTEventMulticaster.java:377)
	at java.desktop/java.awt.Window.processWindowEvent(Window.java:2084)
	at java.desktop/javax.swing.JFrame.processWindowEvent(JFrame.java:298)
	at java.desktop/java.awt.Window.processEvent(Window.java:2037)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5008)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
	at tvbrowser/util.ui.textcomponentpopup.TextComponentPopupEventQueue.dispatchEvent(TextComponentPopupEventQueue.java:55)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: java.io.FileNotFoundException: ?/.config/tvbrowser/4.2.1/settings.prop (Datei oder Verzeichnis nicht gefunden)
	at java.base/java.io.FileOutputStream.open0(Native Method)
	at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298)
	at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:237)
	at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:187)
	at tvbrowser/util.io.stream.StreamUtilities$5.openOutputStream(StreamUtilities.java:325)
	at tvbrowser/util.io.stream.StreamUtilities.outputStream(StreamUtilities.java:283)
	at tvbrowser/util.io.stream.StreamUtilities.outputStream(StreamUtilities.java:321)
	at tvbrowser/util.settings.PropertyManager.writeToFile(PropertyManager.java:76)
	at tvbrowser/tvbrowser.core.Settings.storeSettings(Settings.java:327)
	... 29 more
19:11:59 WARNUNG: Key 'Settings.error.1' not found in resource bundle 'tvbrowser.core.core'
19:11:59 WARNUNG: Key 'Settings.error.1' not found in resource bundle 'tvbrowser.core.core'


Parent received signal 2, shutting down the child process...

Child received signal 2, shutting down the sandbox...

Parent is shutting down, bye...
<!-- gh-comment-id:575758404 --> @Micha-Btz commented on GitHub (Jan 17, 2020): include whitelist-usr-share-common.inc and whitelist /usr/share/tvbrowser - works. with private-etc java,java-11-openjdk,alternatives,alternatives,ld.so.cache,ld.so.conf,ld.so.conf.d,ld.so.preload,locale,locale.alias,locale.conf,localtime,mime.types,xdg the program starts but have a lot of problems. and also my conifg is not available, will leave it out. ``` tvbrowser Reading profile /home/mdomann/.config/firejail/tvbrowser.profile Reading profile /etc/firejail/allow-java.inc Reading profile /etc/firejail/disable-common.inc Reading profile /etc/firejail/disable-devel.inc Reading profile /etc/firejail/disable-exec.inc Reading profile /etc/firejail/disable-interpreters.inc Reading profile /etc/firejail/disable-passwdmgr.inc Reading profile /etc/firejail/disable-programs.inc Reading profile /etc/firejail/disable-xdg.inc Reading profile /etc/firejail/whitelist-common.inc Reading profile /etc/firejail/whitelist-var-common.inc Reading profile /etc/firejail/whitelist-usr-share-common.inc Warning: networking feature is disabled in Firejail configuration file Parent pid 43557, child pid 43558 Warning fcopy: skipping /etc/alternatives/hsdb, cannot find inode Warning fcopy: skipping /etc/alternatives/clhsdb, cannot find inode Private /etc installed in 13.35 ms Warning: An abstract unix socket for session D-BUS might still be available. Use --net or remove unix from --protocol set. Warning: cleaning all supplementary groups Warning: cleaning all supplementary groups Blacklist violations are logged to syslog Child process initialized in 110.52 ms Starting TV-Browser... Java exec found in PATH. Verifying... Suitable java version found [java = 11.0.6 2020-01-14] Configuring environment... Loading TV-Browser: java -Xms16m -Xmx1G --module-path=lib:tvbrowser.jar -Djava.library.path="/usr/share/tvbrowser" -splash:imgs/splash.png -Dpropertiesfile=linux.properties -m tvbrowser/tvbrowser.TVBrowser '' command line options: -minimized The main window will be minimized after start up -nostartscreen No start screen during start up -fullscreen Start in fullscreen-mode -ignorejvm Don't check for Sun Java -safemode Don't load Plugins 19:11:48 INFORMATION: Search for settings import in: '?/.config/tvbrowser' 19:11:48 INFORMATION: Search for settings import in: '?/.tvbrowser' 19:11:48 INFORMATION: No previous version of TV-Browser found - using default user settings 19:11:48 INFORMATION: Creating ?/.config/tvbrowser/4.2.1 19:11:48 WARNUNG: Datei oder Verzeichnis nicht gefunden java.io.IOException: Datei oder Verzeichnis nicht gefunden at java.base/java.io.UnixFileSystem.createFileExclusively(Native Method) at java.base/java.io.File.createNewFile(File.java:1026) at tvbrowser/tvbrowser.TVBrowser.createLockFile(TVBrowser.java:1078) at tvbrowser/tvbrowser.TVBrowser.main(TVBrowser.java:393) 19:11:48 WARNUNG: Datei oder Verzeichnis nicht gefunden java.io.IOException: Datei oder Verzeichnis nicht gefunden at java.base/java.io.UnixFileSystem.createFileExclusively(Native Method) at java.base/java.io.File.createNewFile(File.java:1026) at tvbrowser/tvbrowser.TVBrowser.createLockFile(TVBrowser.java:1078) at tvbrowser/tvbrowser.TVBrowser.createLockGlobalToggle(TVBrowser.java:1004) at tvbrowser/tvbrowser.TVBrowser.main(TVBrowser.java:398) Fontconfig error: Cannot load default config file 19:11:48 WARNUNG: Could not create plugins folder /usr/share/tvbrowser/?/.config/tvbrowser/4.2.1/plugins Fontconfig error: Cannot load default config file 19:11:53 SCHWERWIEGEND: Could not store reminder data. java.io.FileNotFoundException: ?/.config/tvbrowser/4.2.1/reminder.dat.temp (Datei oder Verzeichnis nicht gefunden) at java.base/java.io.FileOutputStream.open0(Native Method) at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298) at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:237) at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:187) at tvbrowser/util.io.stream.StreamUtilities.objectOutputStream(StreamUtilities.java:342) at tvbrowser/tvbrowser.extras.reminderplugin.ReminderPlugin.store(ReminderPlugin.java:454) at tvbrowser/tvbrowser.extras.reminderplugin.ReminderPlugin.saveReminders(ReminderPlugin.java:955) at tvbrowser/tvbrowser.extras.reminderplugin.ReminderPlugin.updateRootNode(ReminderPlugin.java:935) at tvbrowser/tvbrowser.extras.reminderplugin.ReminderPlugin.updateRootNode(ReminderPlugin.java:951) at tvbrowser/tvbrowser.extras.favoritesplugin.FavoritesPlugin.updateRootNode(FavoritesPlugin.java:1274) at tvbrowser/tvbrowser.extras.favoritesplugin.FavoritesPlugin.handleTvBrowserStartFinished(FavoritesPlugin.java:457) at tvbrowser/tvbrowser.extras.favoritesplugin.FavoritesPluginProxy.handleTvBrowserStartFinished(FavoritesPluginProxy.java:217) at tvbrowser/tvbrowser.TVBrowser$2.run(TVBrowser.java:573) 19:11:53 SCHWERWIEGEND: Could not store reminder settings. java.io.IOException: Could not store settings to /usr/share/tvbrowser/?/.config/tvbrowser/4.2.1/reminderplugin.ReminderPlugin.prop.temp at tvbrowser/tvbrowser.extras.common.ConfigurationHandler.storeSettings(ConfigurationHandler.java:169) at tvbrowser/tvbrowser.extras.reminderplugin.ReminderPlugin.store(ReminderPlugin.java:469) at tvbrowser/tvbrowser.extras.reminderplugin.ReminderPlugin.saveReminders(ReminderPlugin.java:955) at tvbrowser/tvbrowser.extras.reminderplugin.ReminderPlugin.updateRootNode(ReminderPlugin.java:935) at tvbrowser/tvbrowser.extras.reminderplugin.ReminderPlugin.updateRootNode(ReminderPlugin.java:951) at tvbrowser/tvbrowser.extras.favoritesplugin.FavoritesPlugin.updateRootNode(FavoritesPlugin.java:1274) at tvbrowser/tvbrowser.extras.favoritesplugin.FavoritesPlugin.handleTvBrowserStartFinished(FavoritesPlugin.java:457) at tvbrowser/tvbrowser.extras.favoritesplugin.FavoritesPluginProxy.handleTvBrowserStartFinished(FavoritesPluginProxy.java:217) at tvbrowser/tvbrowser.TVBrowser$2.run(TVBrowser.java:573) Caused by: java.io.FileNotFoundException: ?/.config/tvbrowser/4.2.1/reminderplugin.ReminderPlugin.prop.temp (Datei oder Verzeichnis nicht gefunden) at java.base/java.io.FileOutputStream.open0(Native Method) at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298) at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:237) at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:187) at tvbrowser/tvbrowser.extras.common.ConfigurationHandler.storeSettings(ConfigurationHandler.java:158) ... 8 more java.io.FileNotFoundException: ?/.config/tvbrowser/4.2.1/programConfigurations.dat (Datei oder Verzeichnis nicht gefunden) at java.base/java.io.FileOutputStream.open0(Native Method) at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298) at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:237) at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:187) at tvbrowser/util.io.stream.StreamUtilities.objectOutputStream(StreamUtilities.java:342) at tvbrowser/util.io.stream.StreamUtilities.objectOutputStreamIgnoringExceptions(StreamUtilities.java:392) at tvbrowser/tvbrowser.core.plugin.programformating.GlobalPluginProgramFormatingManager.store(GlobalPluginProgramFormatingManager.java:124) at tvbrowser/tvbrowser.core.plugin.programformating.GlobalPluginProgramFormatingManager$1.run(GlobalPluginProgramFormatingManager.java:77) Fontconfig error: Cannot load default config file 19:11:56 SCHWERWIEGEND: Konnte Such-Historie nicht speichern java.io.FileNotFoundException: ?/.config/tvbrowser/4.2.1/searchplugin.SearchPlugin.dat.temp (Datei oder Verzeichnis nicht gefunden) at java.base/java.io.FileOutputStream.open0(Native Method) at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298) at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:237) at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:187) at tvbrowser/util.io.stream.StreamUtilities.objectOutputStream(StreamUtilities.java:342) at tvbrowser/tvbrowser.extras.common.ConfigurationHandler.storeData(ConfigurationHandler.java:107) at tvbrowser/tvbrowser.extras.searchplugin.SearchPlugin.store(SearchPlugin.java:116) at tvbrowser/tvbrowser.TVBrowser.flushSettings(TVBrowser.java:1302) at tvbrowser/tvbrowser.TVBrowser$2$1.windowIconified(TVBrowser.java:588) at java.desktop/java.awt.AWTEventMulticaster.windowIconified(AWTEventMulticaster.java:378) at java.desktop/java.awt.AWTEventMulticaster.windowIconified(AWTEventMulticaster.java:377) at java.desktop/java.awt.Window.processWindowEvent(Window.java:2084) at java.desktop/javax.swing.JFrame.processWindowEvent(JFrame.java:298) at java.desktop/java.awt.Window.processEvent(Window.java:2037) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5008) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321) at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742) at tvbrowser/util.ui.textcomponentpopup.TextComponentPopupEventQueue.dispatchEvent(TextComponentPopupEventQueue.java:55) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) 19:11:58 SCHWERWIEGEND: Could not store settings for programinfo. java.io.IOException: Could not store settings to /usr/share/tvbrowser/?/.config/tvbrowser/4.2.1/programinfo.ProgramInfo.prop.temp at tvbrowser/tvbrowser.extras.common.ConfigurationHandler.storeSettings(ConfigurationHandler.java:169) at tvbrowser/tvbrowser.extras.programinfo.ProgramInfoSettings.storeSettings(ProgramInfoSettings.java:246) at tvbrowser/tvbrowser.extras.programinfo.ProgramInfo.store(ProgramInfo.java:181) at tvbrowser/tvbrowser.TVBrowser.flushSettings(TVBrowser.java:1303) at tvbrowser/tvbrowser.TVBrowser$2$1.windowIconified(TVBrowser.java:588) at java.desktop/java.awt.AWTEventMulticaster.windowIconified(AWTEventMulticaster.java:378) at java.desktop/java.awt.AWTEventMulticaster.windowIconified(AWTEventMulticaster.java:377) at java.desktop/java.awt.Window.processWindowEvent(Window.java:2084) at java.desktop/javax.swing.JFrame.processWindowEvent(JFrame.java:298) at java.desktop/java.awt.Window.processEvent(Window.java:2037) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5008) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321) at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742) at tvbrowser/util.ui.textcomponentpopup.TextComponentPopupEventQueue.dispatchEvent(TextComponentPopupEventQueue.java:55) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) Caused by: java.io.FileNotFoundException: ?/.config/tvbrowser/4.2.1/programinfo.ProgramInfo.prop.temp (Datei oder Verzeichnis nicht gefunden) at java.base/java.io.FileOutputStream.open0(Native Method) at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298) at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:237) at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:187) at tvbrowser/tvbrowser.extras.common.ConfigurationHandler.storeSettings(ConfigurationHandler.java:158) ... 31 more 19:11:59 SCHWERWIEGEND: [Settings.error.1#Error when saving settings! (/usr/share/tvbrowser/?/.config/tvbrowser/4.2.1/settings.prop)] util.exc.TvBrowserException: [Settings.error.1#Error when saving settings! (/usr/share/tvbrowser/?/.config/tvbrowser/4.2.1/settings.prop)] at tvbrowser/tvbrowser.core.Settings.storeSettings(Settings.java:337) at tvbrowser/tvbrowser.TVBrowser.flushSettings(TVBrowser.java:1332) at tvbrowser/tvbrowser.TVBrowser$2$1.windowIconified(TVBrowser.java:588) at java.desktop/java.awt.AWTEventMulticaster.windowIconified(AWTEventMulticaster.java:378) at java.desktop/java.awt.AWTEventMulticaster.windowIconified(AWTEventMulticaster.java:377) at java.desktop/java.awt.Window.processWindowEvent(Window.java:2084) at java.desktop/javax.swing.JFrame.processWindowEvent(JFrame.java:298) at java.desktop/java.awt.Window.processEvent(Window.java:2037) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5008) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321) at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742) at tvbrowser/util.ui.textcomponentpopup.TextComponentPopupEventQueue.dispatchEvent(TextComponentPopupEventQueue.java:55) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) Caused by: java.io.FileNotFoundException: ?/.config/tvbrowser/4.2.1/settings.prop (Datei oder Verzeichnis nicht gefunden) at java.base/java.io.FileOutputStream.open0(Native Method) at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298) at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:237) at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:187) at tvbrowser/util.io.stream.StreamUtilities$5.openOutputStream(StreamUtilities.java:325) at tvbrowser/util.io.stream.StreamUtilities.outputStream(StreamUtilities.java:283) at tvbrowser/util.io.stream.StreamUtilities.outputStream(StreamUtilities.java:321) at tvbrowser/util.settings.PropertyManager.writeToFile(PropertyManager.java:76) at tvbrowser/tvbrowser.core.Settings.storeSettings(Settings.java:327) ... 29 more 19:11:59 WARNUNG: Key 'Settings.error.1' not found in resource bundle 'tvbrowser.core.core' 19:11:59 WARNUNG: Key 'Settings.error.1' not found in resource bundle 'tvbrowser.core.core' Parent received signal 2, shutting down the child process... Child received signal 2, shutting down the sandbox... Parent is shutting down, bye... ```
Author
Owner

@Micha-Btz commented on GitHub (Jan 17, 2020):

# Firejail profile for tvbrowser
# Description: java tv programm form tvbrowser.org
# This file is overwritten after every install/update
# Persistent local customizations
include tvbrowser.local
# Persistent global definitions
include globals.local

noblacklist ${HOME}/.config/tvbrowser
noblacklist ${HOME}/.tvbrowser

# Allow java (blacklisted by disable-devel.inc)
include allow-java.inc

include disable-common.inc
include disable-devel.inc
include disable-exec.inc
include disable-interpreters.inc
include disable-passwdmgr.inc
include disable-programs.inc
include disable-xdg.inc

mkdir ${HOME}/.config/tvbrowser
mkdir ${HOME}/.tvbrowser
whitelist ${HOME}/.config/tvbrowser
whitelist ${HOME}/.tvbrowser
whitelist /usr/share/tvbrowser

include whitelist-common.inc
include whitelist-var-common.inc
include whitelist-usr-share-common.inc 


caps.drop all
netfilter
no3d
nodbus
nodvd
nogroups
nonewprivs
noroot
notv
nou2f
novideo
protocol unix,inet,inet6
seccomp
shell none
tracelog

disable-mnt
private-cache
private-dev
#private-etc java,java-11-openjdk,alternatives,alternatives,ld.so.cache,ld.so.conf,ld.so.conf.d,ld.so.preload,locale,locale.alias,locale.conf,localtime,mime.types,xdg
private-tmp
<!-- gh-comment-id:575759509 --> @Micha-Btz commented on GitHub (Jan 17, 2020): ``` # Firejail profile for tvbrowser # Description: java tv programm form tvbrowser.org # This file is overwritten after every install/update # Persistent local customizations include tvbrowser.local # Persistent global definitions include globals.local noblacklist ${HOME}/.config/tvbrowser noblacklist ${HOME}/.tvbrowser # Allow java (blacklisted by disable-devel.inc) include allow-java.inc include disable-common.inc include disable-devel.inc include disable-exec.inc include disable-interpreters.inc include disable-passwdmgr.inc include disable-programs.inc include disable-xdg.inc mkdir ${HOME}/.config/tvbrowser mkdir ${HOME}/.tvbrowser whitelist ${HOME}/.config/tvbrowser whitelist ${HOME}/.tvbrowser whitelist /usr/share/tvbrowser include whitelist-common.inc include whitelist-var-common.inc include whitelist-usr-share-common.inc caps.drop all netfilter no3d nodbus nodvd nogroups nonewprivs noroot notv nou2f novideo protocol unix,inet,inet6 seccomp shell none tracelog disable-mnt private-cache private-dev #private-etc java,java-11-openjdk,alternatives,alternatives,ld.so.cache,ld.so.conf,ld.so.conf.d,ld.so.preload,locale,locale.alias,locale.conf,localtime,mime.types,xdg private-tmp ```
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/firejail#1969
No description provided.