[fix][web] not able to launch applications for the root user

This commit is contained in:
Vinícius Moreira
2020-02-12 11:35:57 -03:00
parent 87e49100d3
commit d8924341d7
3 changed files with 15 additions and 5 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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'