Здесь есть шаткий расширение окна:
http://cinnamon-spices.linuxmint.com/extensions/view/24
Чтобы получить список всех установленных приложений с их именами, самый простой способ:
sudo apt-get install aptitude
aptitude -F' * %p -> %d ' --no-gui --disable-columns search '?and(~i,!?section(libs), !?section(kernel), !?section(devel))'
Он предоставит вам список всех установленных пакетов, которые не являются библиотеками, а не ядра, а не пакет разработки, такой как:
* zip -> Archiver for .zip files
* zlib1g -> compression library - runtime
* zlib1g-dev -> compression library - development
* zsh -> shell with lots of features
* zsh-common -> architecture independent files for Zsh
Это более полно, так как в нем также перечислены не-gui-приложения, которые не будут отображаться в файлах .desktop
Выполните следующую команду, чтобы просмотреть все установленные приложения,
ls /usr/share/applications | awk -F '.desktop' ' { print $1}' -
Если вы хотите получить список всех установленных приложений, выполните следующую команду:
ls /usr/share/applications | awk -F '.desktop' ' { print $1}' - > ~/Desktop/applications.txt
2] Он сохранит указанный выше вывод команды в файле applications.txt внутри вашего каталога ~/Desktop. Также запустите приведенную ниже команду на терминале, чтобы просмотреть установленные приложения, [ ! d4]
find /usr/share/applications -maxdepth 1 -type f -exec basename {} .desktop \; | sort
Чтобы получить список в текстовом файле, выполните приведенную ниже команду
find /usr/share/applications -maxdepth 1 -type f -exec basename {} .desktop \; | sort > ~/Desktop/applications.txt
Записи рабочего стола для всех установленных приложений хранятся внутри каталога /usr/share/applications, где имена файлов в формате application-name.desktop .Удаление части .desktop из имен файлов даст вам полный список установленных приложений.
Обновление:
Как предложили @Radu, вы также можно найти записи рабочего стола для ваших дополнительных установленных приложений внутри каталога ~/.local/share/applications.
find /usr/share/applications ~/.local/share/applications -maxdepth 1 -type f -exec basename {} .desktop \;
Если вам нужен список приложений, показанных при нажатии Super + A, вы можете использовать ls /usr/share/applications. Единственное, что вам нужно сделать, это заменить .desktop окончание, что является довольно простой задачей. Я делаю это с sed:
ls /usr/share/applications | sed s/.desktop// - > installed-apps.txt
Но вы можете сделать это после того, как получили список с помощью текстового редактора.
Не знаю, почему большинство ответов было связано с извлечением имени файла .desktop ярлыков. Имя файла .desktop shortcut filename может быть чем угодно, но имеет значение поле Name внутри файла ярлыка. Если вы хотите создать список имен установленных приложений, отображаемых в Dash, просто «grep» это поле в [Desktop Entry]
Код Rudential, с bash
#!/bin/bash
for file in /usr/share/applications/*.desktop;
do
while IFS== read -r key val
do
if [[ -z $key ]]; then
continue
else
if [[ $key =~ ^\[Desktop\ Entry ]]; then
interesting_field=1
elif [[ $key =~ ^\[ ]]; then
interesting_field=0
fi
fi
[[ $interesting_field -eq 1 ]] && [[ $key == "Name" ]] && echo $val
done < $file
done
Но это делает не учитывайте ярлыки, которые скрыты от показа в Dash. Кто-то, кто лучше понимает спецификацию .desktop, может захотеть продолжить расширение этого кода, чтобы исключить те виды ярлыков
Edit: еще одна попытка с Python
#!/usr/bin/python
from os import listdir
from os.path import isfile, join
import ConfigParser
SHORTCUTDIR = "/usr/share/applications/"
shortcuts = [ file for file in listdir(SHORTCUTDIR) if isfile(join(SHORTCUTDIR, file)) and file.endswith(".desktop") ]
dash_shortcuts = []
for f in shortcuts:
c = ConfigParser.SafeConfigParser()
c.read(SHORTCUTDIR + f)
try:
if c.getboolean('Desktop Entry', 'NoDisplay') is True:
continue
except ConfigParser.NoOptionError:
pass
try:
if "unity" in c.get('Desktop Entry', 'NotShowIn').lower():
continue
except ConfigParser.NoOptionError:
pass
try:
if "unity" not in c.get('Desktop Entry', 'OnlyShowIn').lower():
continue
except ConfigParser.NoOptionError:
pass
dash_shortcuts += [ c.get("Desktop Entry", "Name") ]
for s in sorted(dash_shortcuts, key=str.lower):
print s
Пользователь спрашивает список имен всех установленных «приложений».
Что касается приложений с файлами .desktop:
, ответ Danatela касается приложений с файлами .desktop в /usr/share/applications, как указано Radu, приложения с файлами .desktop также можно найти в ~/.local/share/applications в этот момент, можно заметить, что приложения с файлами .desktop могут иметь два имени, одно «имя» доступно, запрашивая Dash в Unity или из меню в Xubuntu (например). Это имя выводится из строки Name= в соответствующем файле .desktop. Одним из примеров является «Карта символов». другое «имя» - это имя, которое будет использоваться при запуске приложения с терминала и первое слово после Exec=. В случае «Карты символов» это будет gucharmap. два имени (и файл .desktop) могут быть связаны с использованием: sed -ns '1F;/^\[Desktop Entry\]/,/^\[/{/^Name=/p;/^Exec=/h};${z;x;G;p}' /usr/share/applications/*.desktop и sed -ns '1F;/^\[Desktop Entry\]/,/^\[/{/^Name=/p;/^Exec=/h};${z;x;G;p}' $HOME/.local/share/applications/*.desktopЧто касается приложений с файлами .desktop :
В зависимости от того, как определяется «приложение», у некоторых нет файлов .desktop.
ответ Danatela касается приложений с файлами .desktop в /usr/share/applications . Что относительно awk, find, grep, ls и , чтобы назвать еще несколько? Являются ли они приложениями или нет?Если что-либо, у кого есть команда, рассматривается как приложение, тогда команда Linux для перечисления всех доступных команд и псевдонимов, и этот ответ поможет идентифицировать их.