Ubuntu 14.04: LXD PPA больше не доступен

Я взял сценарий из ответа Карло выше и попытался улучшить его для моего собственного использования на рабочем столе.

Эта версия скрипта позволит вам запускать любое приложение, как если бы вы ввели его на HUD, если это, скорее всего, первый результат. Он также позволяет передавать аргументы файла для файлов .desktop, которые не поддерживают URI.

#!/usr/bin/env python

from gi.repository import Gio
from argparse import ArgumentParser
import sys, os

def find_app(search_string):
    for group in Gio.DesktopAppInfo.search(search_string):
        for entry in group:
            try:
                return Gio.DesktopAppInfo.new(entry)
            except: pass
    return None

def main(args):
    launcher = None
    if os.path.isfile(args.appName):
        try:
        # If it's a file, do that first.
            launcher = Gio.DesktopAppInfo.new_from_filename(args.appName)
        except TypeError:
            print "'" + args.appName + "' is not a .desktop file"
            sys.exit(-1)
    # If it's a .desktop file in the DB, try using that
    if launcher is None and args.appName.endswith('.desktop'):
        try:
            launcher = Gio.DesktopAppInfo.new(args.appName)
        except TypeError: pass

    if launcher is None:
        # Search for the app by the text given
        launcher = find_app(args.appName)

    if launcher is None:
        print "No app named " + args.appName + " could be found"
        sys.exit(-1)
    if (launcher.supports_uris()):
        launcher.launch_uris(args.uris, None)
    elif (launcher.supports_files()):
        launcher.launch(list({ Gio.File.parse_name(x) for x in args.uris }), None)
    else :
        launcher.launch()

if __name__ == "__main__":
    argParser = ArgumentParser(description="Launch a .desktop file or application")
    argParser.add_argument("appName", 
        help="the name of any application, a desktop file's basename, or a concrete path to a desktop file", 
        action='store'
    )
    argParser.add_argument("uris", 
        nargs='*', 
        help="Files or URIs to pass to the application"
    )
    args = argParser.parse_args()
    main(args)
1
задан 9 January 2018 в 20:46

4 ответа

LXD является диспетчером контейнеров для системных контейнеров.

Чтобы установить LXD в Ubuntu 14.04 и все поддерживаемые в настоящее время версии Ubuntu, откройте терминал и введите:

sudo apt install snapd  
sudo snap install lxd  
1
ответ дан 22 May 2018 в 15:39

LXD является диспетчером контейнеров для системных контейнеров.

Чтобы установить LXD в Ubuntu 14.04 и все поддерживаемые в настоящее время версии Ubuntu, откройте терминал и введите:

sudo apt install snapd sudo snap install lxd
1
ответ дан 17 July 2018 в 23:30

LXD является диспетчером контейнеров для системных контейнеров.

Чтобы установить LXD в Ubuntu 14.04 и все поддерживаемые в настоящее время версии Ubuntu, откройте терминал и введите:

sudo apt install snapd sudo snap install lxd
1
ответ дан 24 July 2018 в 14:00

LXD является диспетчером контейнеров для системных контейнеров.

Чтобы установить LXD в Ubuntu 14.04 и все поддерживаемые в настоящее время версии Ubuntu, откройте терминал и введите:

sudo apt install snapd sudo snap install lxd
1
ответ дан 24 July 2018 в 17:03

Другие вопросы по тегам:

Похожие вопросы: