Существует ли “открыт с” командой для командной строки?

Решенный (по крайней мере, при использовании KDE) путем установки oxygen-gtk2 и oxygen-gtk3 пакеты и установка GTK2 и тем GTK3 соответственно. (редактирование: на самом деле любая тема и с GTK2 и с версиями GTK3 должна работать; можно найти многих на, например, Взгляд GNOME),

Установите kde-gtk-config пакет из АУРА для установки тех, которые из панели управления KDE. Теперь выглядит намного более согласовывающимся с остальной частью среды, например:

enter image description here

24
16.04.2019, 16:26
4 ответа
[116525] Я никогда не видел команды, которая действовала бы как "открыть с...", но вы можете использовать команду [116946]xdg-open [116947], чтобы открыть заданный [116948][116949] в приложении, которое связано с данным типом файла.

Примеры

Открытие текстового файла:

Результат открытия файла [116950]tstfile.txt[116951] в [116952]gedit[116953]:

Открытие документа LibreOffice Writer:

Результат открытия файла [116955]tstfile.odt[116956] в Writer:

Какие приложения используются?

Вы можете использовать [116958]xdg-mime [116959] для запроса системы, чтобы узнать, какие приложения ассоциированы с данным типом файлов.

Это 2-шаговая операция. Сначала я запрашиваю тип пантомимы данного файла, [116960]xdg-mime запрос типа файла tstfile.txt[116961], который вернет [116962]text/plain[116963]. Затем он используется для выполнения другого поиска, чтобы узнать список приложений, которые ассоциированы с этим mime-типом. Как вы можете видеть выше, у меня есть 2 приложения, связанные с [116964]gedit[116965] и [116966] калибр[116967], для файлов [116968].txt[116969].

Вы можете использовать [116970]xdg-mime[116971] для изменения ассоциаций также. Смотрите [116972]man xdg-mime[116973] для более подробной информации.[116548].

33
27.01.2020, 19:40
[116717] Если вы в основном работаете в командной строке, вы можете посмотреть на файловый менеджер, основанный на curses, например, [117137] ranger[117138] или [117139]vifm[117140]. Оба позволяют определить действия по умолчанию для типов файлов.

В vifm, например, в [117141]~/.vifm/vifmrc[117142] можно определить такие ассоциации как:
Нажатие [117143]Enter[117144], при этом курсор на любом файле с одним из определенных действий увидит, что он открыт соответствующим приложением. Как видно в случае с файлами [117145].html[117146], можно запустить как скрипт, так и приложение.[116722].

5
27.01.2020, 19:40
[116647]Вроде того, но в результате это изменит ваше приложение по умолчанию. Не знаю, на каких других операционных системах это работает, но приведенная ниже инструкция работает для Ubuntu 12.04 - Desktop X86-64. У меня не было под рукой pdf-файлов, поэтому я протестировал их в .zip архиве.

$ for i in `seq 1 100` ; do touch $i ; done
$ ls
1    13  18  22  27  31  36  40  45  5   54  59  63  68  72  77  81  86  90  95
10   14  19  23  28  32  37  41  46  50  55  6   64  69  73  78  82  87  91  96
100  15  2   24  29  33  38  42  47  51  56  60  65  7   74  79  83  88  92  97
11   16  20  25  3   34  39  43  48  52  57  61  66  70  75  8   84  89  93  98
12   17  21  26  30  35  4   44  49  53  58  62  67  71  76  80  85  9   94  99
$ echo [0-9]
1 2 3 4 5 6 7 8 9
$ echo [30-99]
1 2 3 4 5 6 7 8 9

Общие шаги

$ touch a b c d e f g h i j k l m n o p q r s t u v w x y z
$ echo [f-l]
f g h i j k l

Шаг #1

   [...]  Matches any one of the enclosed characters.  A pair of
          characters separated by a hyphen denotes a range
          expression; any character that sorts between those two
          characters, inclusive, using the current locale's
          collating sequence and character set, is matched.  If
          the first character following the [ is a !  or a ^
          then any character not enclosed is matched.  The
          sorting order of characters in range expressions is
          determined by the current locale and the value of the
          LC_COLLATE shell variable, if set.  A - may be matched
          by including it as the first or last character in the
          set.  A ] may be matched by including it as the first
          character in the set.

          Within [ and ], character classes can be specified
          using the syntax [:class:], where class is one of the
          following classes defined in the POSIX standard:
          alnum alpha ascii blank cntrl digit graph lower print
          punct space upper word xdigit
          A character class matches any character belonging to
          that class.  The word character class matches letters,
          digits, and the character _.

          Within [ and ], an equivalence class can be specified
          using the syntax [=c=], which matches all characters
          with the same collation weight (as defined by the
          current locale) as the character c.

          Within [ and ], the syntax [.symbol.] matches the
          collating symbol symbol.
В типе терминала:

scp my_log-bin.0139{30..99} root@192.168.103.66:/backup/
снимок экрана #1 = [116655]https://copy.com/qfWSZaZ4FzlA

[] Шаг #2

Выберите из списка, введя [117089]#[117090] нужного вам приложения и нажав [117091]enter[117092]. Файл немедленно откроется в выбранном вами приложении.[116662]. скриншот #2 = [116663] https://copy.com/um6Rf7zRdceT

scp my_log-bin.0139[3-9][0-9] root@192.168.103.66:/backup/

javascript:void(window.open("http://www.wolframalpha.com/input/?i="+encodeURIComponent("%s")));
скриншот #3 = [116667] https://copy.com/ytwKCqR6nv8i

Notes

defaults write com.apple.dock single-app -bool false
killall dock

Note #1

Это меняет приложение по умолчанию на то, которое вы выбрали, и поэтому каждый раз, когда вы открываете этот тип файла, оно будет открываться в любом приложении, которое вы в последний раз выбирали из списка.[116676]

5
27.01.2020, 19:40
[116725] зависит от вкуса используемого вами Unix. В OS X можно использовать команду [117147] open[117148]:

2
27.01.2020, 19:40

Теги

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