Вчера я обновил Eclipse до версии 4.3 и столкнулся с отсутствующей ошибкой меню . Чтобы вернуть меню, нужно запустить Eclipse другим способом, поэтому я попытался создать новый пункт в главном меню.
По какой-то причине элемент не сохраняется в главном меню, я не получаю сообщений об ошибках при нажатии кнопки OK в диалоговом окне нового элемента, но в группе «Приложения» ничего не меняется.
Я что-то не так делаю? Благодаря.
Обновление I : пользователь wilf говорит мне добавить файл с именем eclipse.desktop
в /usr/share/applications
, но это не создало новый элемент в главном меню:
Обновление II : Вот как выглядит мой файл eclipse.dektop
:
$ ls -la /usr/share/applications/e*
-rw-r--r-- 1 root root 3083 May 11 2012 /usr/share/applications/easytag.desktop
-rw-r--r-- 1 root root 167 Jan 25 17:02 /usr/share/applications/eclipse.desktop
-rw-r--r-- 1 root root 921 Oct 31 20:30 /usr/share/applications/empathy.desktop
-rw-r--r-- 1 root root 856 Jun 29 2013 /usr/share/applications/eog.desktop
-rw-r--r-- 1 root root 894 Oct 8 23:21 /usr/share/applications/evince.desktop
-rw-r--r-- 1 root root 873 Oct 8 23:21 /usr/share/applications/evince-previewer.desktop
$ cat /usr/share/applications/eclipse.desktop
[Desktop Entry]
Type=Application
Name=Eclipse
Icon=eclipse
Exec=env UBUNTU_MENUPROXY=/usr/local/eclipse.kepler/eclipse
Terminal=false
Categories=Development;IDE;Java;
Помимо этого, есть ли другие? способ, чтобы значок Eclipse появился в тире?
Вы пишете в своем вопросе, что ваш файл .desktop содержит это:
Exec=env UBUNTU_MENUPROXY=/usr/local/eclipse.kepler/eclipse
, но он должен содержать что-то вроде этого:
Exec=env UBUNTU_MENUPROXY= /usr/local/eclipse.kepler/eclipse
Обратите внимание на пробел между =
и /
. Переменная UBUNTU_MENUPROXY
должна быть сброшена для правильной работы eclipse. Вы настраиваете его на затмение и не запускаете никаких приложений.
Хотя я не знаю, решит ли это вашу проблему, я думаю, что это не должно приводить к тому, что значок не появляется, просто он ничего не сделает при нажатии.
ОБНОВЛЕНИЕ: Таким образом, вышеописанное не сделало затмение, чтобы показать, вот еще одна вещь, которую вы можете попробовать:
Поместите файл .desktop в каталог ~/.local/share/applications/
, это где Вы можете хранить файлы .desktop для каждого пользователя, может быть, Unity обнаружит их оттуда. Если это так, не забывайте, что файлы .desktop в этом каталоге доступны только пользователю, в домашнем каталоге которого находится файл .desktop, поэтому, если у вас больше пользователей, просто скопируйте файл .desktop для каждого пользователя ~/.local/share/applications/
каталог.
Также обратите внимание, что для файлов рабочего стола в ~/.local/share/applications/
необходимо выйти из системы, чтобы появиться в тире. (Я не знаю почему, но это так на моей стороне.) Поэтому, если вы поместите туда файл .desktop, не забудьте выйти из системы или выйти из нее.
Найдите путь к вашему исполняемому файлу с помощью команды which
:
which eclipse
Создайте файл .desktop
:
sudo touch /usr/share/applications/eclipse.desktop
Откройте файл в текстовом редакторе вашего с привилегиями root выберите, например, nano
:
sudo nano /usr/share/applications/eclipse.desktop
, скопируйте в файл следующее и сохраните работу: source sup>
[Desktop Entry]
Type=Application
Name=Eclipse
Icon=eclipse
Exec=env UBUNTU_MENUPROXY=path_to_eclipse
Terminal=false
Categories=Development;IDE;Java;
(где path_to_eclipse должен быть заменен выходом пути команды which
, использованной выше. Или замените path_to_eclipse на eclipse и создайте символическую ссылку на исполняемый файл, указанный командой which
. ) Например, в вашем случае, поскольку исполняемый файл /usr/share/eclipse.kepler/eclipse
, файл .desktop
будет выглядеть следующим образом:
[Desktop Entry]
Type=Application
Name=Eclipse
Icon=eclipse
Exec=env UBUNTU_MENUPROXY=/usr/share/eclipse.kepler/eclipse
Terminal=false
Categories=Development;IDE;Java;
Теперь в меню должно появиться затмение.
Для создания символической ссылки используйте:
sudo ln -s -T source_file target_file
, где вы должны заменить source_file на абсолютный путь eclipse
и поместить файл target_file, то есть ссылку в /usr/bin
:
sudo ln -s -T path_to_eclipse /usr/bin/eclipse
interfaces
, но испытал тот же результат. Я исключил этот шаг для brevity' s польза. Как я упомянул в своем обновлении, кажется, что администратор сети превосходит другие сетевые инструменты (ifconfig, интерфейсы), и я хотел бы знать почему.
– NBCKLY
13 July 2015 в 04:48
Я думаю, что вы имеете в виду Алакарта . По какой-то причине это не всегда сохраняет изменения.
Я бы сделал, как этот ответ предполагает, но помните, даже если у вас нет файла .desktop
для Eclipse, что это должно сделать это для вас:
sudo nano /usr/share/applications/eclipse.desktop
А вот окно свойств, если вы мне не верите:
Попробуйте использовать этот метод https://askubuntu.com/a/80016/240859 , чтобы создать активатор запуска (вы можете затем переместить его куда угодно), но немного измените ~/.local/share/applications/opt_eclipse.desktop
, чтобы сделать это выглядит так:
[Desktop Entry]
Type=Application
Name=Eclipse
Comment=Eclipse Integrated Development Environment
Icon=<path to icon.xmp like /opt/eclipse/icon.xpm>
Exec=env UBUNTU_MENUPROXY=0 <path to eclipse like /opt/eclipse/eclipse>
Terminal=false
Categories=Development;IDE;Java;
StartupWMClass=Eclipse
Добавить env UBUNTU_MENUPROXY=0
часть. Не забудьте изменить пути в Icon и Exec.