mirror of
https://github.com/spalencsar/bearhub.git
synced 2026-07-08 14:24:15 +02:00
[fix][web] not able to launch applications for the root user
This commit is contained in:
@@ -16,8 +16,14 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
|||||||
- architecture dependencies are displayed on the info window as well
|
- architecture dependencies are displayed on the info window as well
|
||||||
- UI:
|
- UI:
|
||||||
- **Settings** available as a tray action as well
|
- **Settings** available as a tray action as well
|
||||||
- minor fixes and improvements
|
- minor improvements
|
||||||
|
|
||||||
|
### Fixes
|
||||||
|
- Web:
|
||||||
|
- not able to launch applications for the root user
|
||||||
- handling internet timeout errors
|
- handling internet timeout errors
|
||||||
|
- minor fixes
|
||||||
|
|
||||||
|
|
||||||
## [0.8.2] - 2020-01-31
|
## [0.8.2] - 2020-01-31
|
||||||
### Features
|
### Features
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ from bauh.api.abstract.model import SoftwarePackage, PackageAction, PackageSugge
|
|||||||
from bauh.api.abstract.view import MessageType, MultipleSelectComponent, InputOption, SingleSelectComponent, \
|
from bauh.api.abstract.view import MessageType, MultipleSelectComponent, InputOption, SingleSelectComponent, \
|
||||||
SelectViewType, TextInputComponent, FormComponent, FileChooserComponent, ViewComponent, PanelComponent
|
SelectViewType, TextInputComponent, FormComponent, FileChooserComponent, ViewComponent, PanelComponent
|
||||||
from bauh.api.constants import DESKTOP_ENTRIES_DIR
|
from bauh.api.constants import DESKTOP_ENTRIES_DIR
|
||||||
from bauh.commons import resource
|
from bauh.commons import resource, user
|
||||||
from bauh.commons.config import save_config
|
from bauh.commons.config import save_config
|
||||||
from bauh.commons.html import bold
|
from bauh.commons.html import bold
|
||||||
from bauh.commons.system import ProcessHandler, get_dir_size, get_human_size_str
|
from bauh.commons.system import ProcessHandler, get_dir_size, get_human_size_str
|
||||||
@@ -707,7 +707,7 @@ class WebApplicationManager(SoftwareManager):
|
|||||||
Icon={icon}
|
Icon={icon}
|
||||||
Exec={exec_path}
|
Exec={exec_path}
|
||||||
{categories}
|
{categories}
|
||||||
""".format(name=pkg.name, exec_path=pkg.get_exec_path(),
|
""".format(name=pkg.name, exec_path=pkg.get_command(),
|
||||||
desc=pkg.description or pkg.url, icon=pkg.get_disk_icon_path(),
|
desc=pkg.description or pkg.url, icon=pkg.get_disk_icon_path(),
|
||||||
categories='Categories={}'.format(';'.join(pkg.categories)) if pkg.categories else '')
|
categories='Categories={}'.format(';'.join(pkg.categories)) if pkg.categories else '')
|
||||||
|
|
||||||
@@ -876,7 +876,7 @@ class WebApplicationManager(SoftwareManager):
|
|||||||
return True
|
return True
|
||||||
|
|
||||||
def launch(self, pkg: WebApplication):
|
def launch(self, pkg: WebApplication):
|
||||||
subprocess.Popen(pkg.get_exec_path())
|
subprocess.Popen(pkg.get_command())
|
||||||
|
|
||||||
def get_screenshots(self, pkg: SoftwarePackage) -> List[str]:
|
def get_screenshots(self, pkg: SoftwarePackage) -> List[str]:
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ from pathlib import Path
|
|||||||
from typing import List
|
from typing import List
|
||||||
|
|
||||||
from bauh.api.abstract.model import SoftwarePackage
|
from bauh.api.abstract.model import SoftwarePackage
|
||||||
from bauh.commons import resource
|
from bauh.commons import resource, user
|
||||||
from bauh.gems.web import ROOT_DIR
|
from bauh.gems.web import ROOT_DIR
|
||||||
|
|
||||||
|
|
||||||
@@ -47,6 +47,10 @@ class WebApplication(SoftwarePackage):
|
|||||||
if self.installation_dir:
|
if self.installation_dir:
|
||||||
return '{}/{}'.format(self.installation_dir, self.id)
|
return '{}/{}'.format(self.installation_dir, self.id)
|
||||||
|
|
||||||
|
def get_command(self) -> str:
|
||||||
|
if self.installation_dir:
|
||||||
|
return '{}{}'.format(self.get_exec_path(), '--no-sandbox' if user.is_root() else '')
|
||||||
|
|
||||||
def get_type(self):
|
def get_type(self):
|
||||||
return 'web'
|
return 'web'
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user