У меня есть два отдельных .desktop файла, заблокированные к панели. Они оба открывает окна терминала и выполняет ряд команд (с вводом данных пользователем). Проблема, в то время как каждый уже открыт, открыв другие результаты в них обоих группирующихся под тем же (тот, который был открыт сначала). Это немного беспокоится с тех пор.. скажите, открыл ли я окно терминала ctrl+alt+t ярлыком, вместо того, чтобы открыть новый значок в панели, он включен в уже открытый .desktop файл!
Я запускаю Ubuntu 12.10 с интерфейсом единицы.
Я думаю, что проблема могла быть для WM_CLASS (СТРОКА) в свойствах окна терминала гнома
Если у Вас есть два файла на рабочем столе с различными значками, но рабочие терминалы гнома... можно проверить WM_CLASS с командой xprop
xprop | grep WM_CLASS
Затем нажмите в окнах (с перекрестным курсором)..., и результат для Ваших приложений должен быть:
WM_CLASS (СТРОКА) = "терминал гнома", "терминал Gnome"
По-моему, из-за окон имеют тот же WM_CLASS, они будут группироваться в Средстве запуска Единицы.
Для предотвращения этой проблемы, можно попытаться установить другую строку WM_CLASS для каждого файла на рабочем столе.
Команда должна быть:
gnome-terminal --disable-factory --class <appname> --name <appname>
Здесь у Вас есть пример, чтобы выполнить терминал гнома и выполнить немного сценария.
gnome-terminal --disable-factory --class term-red --name term-red --title Term-Red --window-with-profile=red -e '/home/virtual/Desktop/test1.sh'
Я создал 2 файла на рабочем столе, которые запустят скрипты (использующий терминал гнома), и терминальный гномом значок на рабочем столе, заблокированный к Средству запуска Единицы.
1) гном-terminal.desktop
2) термин-green.desktop
3) термин-red.desktop.
Когда я нажимаю в этих 3 файлах на рабочем столе, они не сгруппированы под тем же значком.
Поскольку Вы видите, что 3 Терминала работают (с их собственным значком).
Здесь у Вас есть содержание термина-red.desktop.
Важные ключи для добавления в .desktop файлах были бы:
Exec=gnome-terminal --disable-factory --class term-red --name term-red --title Term-Red --window-with-profile=red -e '/home/virtual/Desktop/test1.sh'
StartupWMClass=term-red
StartupNotify=true
Здесь у Вас есть информация о Настольной Спецификации Записи.
Другая опция состояла бы в том, чтобы выполнить xterm вместо этого терминал гнома.
xterm примет класс опции и имя.
Exec=uxterm -class term-red -name term-red -T Term-Red -e '/home/virtual/Desktop/test1.sh'
Примечание: Измените эти примеры согласно своим потребностям.
Надежда это помогает.
Они сгруппированы таким образом, чтобы держать ваш пусковой механизм в чистоте (представьте, если у вас было открыто десять окон). Если вы щелкнете по этому значку один раз, фокус перейдет к одному из тех окон, которые в последний раз были в фокусе. Если вы щелкнете этот значок еще раз, он должен развернуть все эти окна на рабочем столе и позволить вам выбрать то, что вы хотите - например, так:
Это действительно удобно, когда ты привыкаешь к этому.
Возможно, это потому, что вы используете gnome-terminal
для Exec. С помощью документации вы можете обратиться к исполняемому файлу, а затем добавить строку Terminal=true
, чтобы выполнить его в терминале.
[Desktop Entry]
Version=0
Name=Your app
Comment=An app for doing something
Exec=/complete/path/to/your/file
Icon=gnome-terminal
Terminal=true
Type=Application
Categories=Application;
Вот снимок экрана, который показывает результат тестового приложения с иконкой, такой же, как у Terminal: окна не сгруппированы.
Вы также можете использовать свой собственный значок, чтобы отличать приложения. Перемещение файла SVG или PNG в ~/.icons
и использование только name.ext файла для Icon даст лучший результат в Unity.
Очень простой, но не выгодный подход для тех, кто не хватает времени:
Это может или не может решить это за вас. Я просто новичок в Ubuntu. Надеюсь, это поможет :)