Как удалить файл из / usr / share / applications на Ubuntu 16.04 LTS

Вот как я подхожу к этому. Так как у меня нет одинаковых файлов, приведенный ниже пример кода предназначен для открытия 4 текстовых файлов с помощью gedit.

Как это работает? Ну, сначала мы найдем файлы в жестко закодированном месте, где файлы могут быть сохранены (переменная FILEPATH). Затем мы переходим к структуре while read. Обратите внимание на использование -print0 и IFS= read -d''. Это очень часто встречается при программировании bash для устранения проблемных имен файлов, содержащих пробелы, непечатаемые символы и т. Д.

Каждый gedit file & вызывает gedit, который отделяется от скрипта с помощью &. Это делает цикл while без остановки.

Что делает останов цикла, это переменная COUNT. Как только мы посчитаем от 0 до некоторого числа, делящегося на 4, переменная MOD, которая вычисляется из оператора модуля, станет 0. Теперь оболочка будет ожидать всплывающее окно (которое является zenity), чтобы подтвердить, что нерест еще 4 окна , Таким образом, мы подсчитываем 4 раза, сбрасываем переменную, продолжаем.

Единственный минус здесь заключается в том, что find не сортирует файлы, поэтому они не обязательно будут в именованном порядке. Если порядок имеет значение, код потребует дополнительных инструкций. В противном случае это достаточно.

#!/bin/bash

FILEPATH="/home/xieerqi/MYTEXTFILES"
COUNT=0

find $FILEPATH -type f -name "*.txt" -print0 | \
while IFS= read -d ''  FILE;
do
    gedit $FILE & 
    COUNT=$(( $COUNT+1 ))
    MOD=$(( $COUNT % 4 ))

    if [ $MOD -eq 0   ]
    then 
        zenity --question --text "Open 4 more files?"  || exit
    fi
done
0
задан 12 November 2017 в 20:31

2 ответа

Имя, которое вы интерпретируете как имя файла, - это имя, указанное для Desktop Launcher. Фактический файл - это файл с расширением *.desktop.

Вы можете найти имя файла запуска (*.desktop) из терминала, введя папку /usr/share/applications, затем выполните поиск содержимого файлы рабочего стола для имени файла.

Поскольку у меня нет установленной программы, я буду использовать программу, установленную на моем компьютере, в качестве примера шагов для поиска. Я буду искать пусковую установку Terminal. Когда вы выполните шаги, используйте JDownloader для своей строки поиска. Вы можете использовать больше символов имени, если оно вызывает слишком много обращений.

(Строка с префайлом $ представляет команды, набранные. Другие строки - вывод на выходе.)

$ cd /usr/share/applications $ egrep -l "Terminal" debian-uxterm.desktop debian-xterm.desktop emacs24-term.desktop exo-terminal-emulator.desktop gnome-terminal.desktop mono-runtime-terminal.desktop

Это файлы, которые имеют Name=Terminal в качестве записи в имени файла *.desktop. Теперь я выбираю из выходного списка, который я хочу удалить.

Поскольку их несколько, я сначала рассмотрю файл с Gedit. В этом случае:

$ gedit gnome-terminal.desktop

Если это вы можете удалить с помощью:

$ sudo rm gnome-terminal.desktop

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

Способ GUI:

В первом примере я представил метод : GUI: , потому что это был ваш метод в вашем вопросе. Вы также можете использовать поиск в GUI, что может быть значительно проще.

Поднимите папку /usr/share/applications в файловом браузере. Это покажет файлы там Launcher Name, а не фактическое имя файла. Это имя, которое вы видите в Launcher.

$ sudo -H nautilus /usr/share/applications

Примечание:

Вы также можете удалить файл, удалив установленное приложение, которое вы установили вывел Launcher в вашу систему.

Поскольку файл, из вашего описания, установлен в /opt, это указывает на то, что он не появился из репозитория по умолчанию. Поэтому вам нужно посмотреть в описании пакета Note: , чтобы найти шаги для удаления.

1
ответ дан 18 July 2018 в 03:24

Имя, которое вы интерпретируете как имя файла, - это имя, указанное для Desktop Launcher. Фактический файл - это файл с расширением *.desktop.

Вы можете найти имя файла запуска (*.desktop) из терминала, введя папку /usr/share/applications, затем выполните поиск содержимого файлы рабочего стола для имени файла.

Поскольку у меня нет установленной программы, я буду использовать программу, установленную на моем компьютере, в качестве примера шагов для поиска. Я буду искать пусковую установку Terminal. Когда вы выполните шаги, используйте JDownloader для своей строки поиска. Вы можете использовать больше символов имени, если оно вызывает слишком много обращений.

(Строка с префайлом $ представляет команды, набранные. Другие строки - вывод на выходе.)

$ cd /usr/share/applications $ egrep -l "Terminal" debian-uxterm.desktop debian-xterm.desktop emacs24-term.desktop exo-terminal-emulator.desktop gnome-terminal.desktop mono-runtime-terminal.desktop

Это файлы, которые имеют Name=Terminal в качестве записи в имени файла *.desktop. Теперь я выбираю из выходного списка, который я хочу удалить.

Поскольку их несколько, я сначала рассмотрю файл с Gedit. В этом случае:

$ gedit gnome-terminal.desktop

Если это вы можете удалить с помощью:

$ sudo rm gnome-terminal.desktop

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

Способ GUI:

В первом примере я представил метод : GUI: , потому что это был ваш метод в вашем вопросе. Вы также можете использовать поиск в GUI, что может быть значительно проще.

Поднимите папку /usr/share/applications в файловом браузере. Это покажет файлы там Launcher Name, а не фактическое имя файла. Это имя, которое вы видите в Launcher.

$ sudo -H nautilus /usr/share/applications

Примечание:

Вы также можете удалить файл, удалив установленное приложение, которое вы установили вывел Launcher в вашу систему.

Поскольку файл, из вашего описания, установлен в /opt, это указывает на то, что он не появился из репозитория по умолчанию. Поэтому вам нужно посмотреть в описании пакета Note: , чтобы найти шаги для удаления.

1
ответ дан 24 July 2018 в 17:50

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

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