Как я могу удалить значок панели Skype?

27

Поскольку я использую индикатор Docky Skype, а зеленый значок Skype не выглядит хорошо рядом со всеми серыми - было бы неплохо удалить значок из системного трея.

Это возможно? Как я могу сделать это в Ubuntu 12.04 - или других более ранних версиях?

harppu
источник

Ответы:

19

Удаление значка панели Skype в 12.04 без удаленияsni-qt

  • Если вам все равно sni-qt, удалить значок так же просто, как сделатьapt-get remove sni-qt sni-qt:i386
  • Установка предоставляемого Skype deb не является решением; все, что делает версия Ubuntu, это связывает один и тот же deb Skype, но sni-qtсоздает зависимость для включения иконки.

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

  • sni-qt предоставляется этими общими библиотеками:

    /usr/lib/i386-linux-gnu/qt4/plugins/systemtrayicon/libsni-qt.so
    /usr/lib/x86_64-linux-gnu/qt4/plugins/systemtrayicon/libsni-qt.so
    
  • Гарантированный способ удалить значок Skype , оставив его sni-qtдоступным для использования другими приложениями, - запретить Skype загружать эти общие библиотеки.

  • Это можно сделать одним из двух способов: цивилизованным путем и грубым взломом.


1. Настоятельно рекомендуется: используйте apparmor для предотвращения загрузки Skypesni-qt

  • AppArmor - это структура безопасности, встроенная в ядро ​​Linux, которая устанавливает права доступа к программам. Он включен по умолчанию в Ubuntu.

  • Пример профиля для Skype включен в профили app-armor; Я изменил это ТОЛЬКО для достижения нашей цели - отключить значок панели - другие функции безопасности были удалены.

  • Вы можете посмотреть профиль, вставленный здесь . Строки 24-25 - это биты, которые важны для нас.

ПРЕДУПРЕЖДЕНИЕ . Этот профиль НЕ обеспечивает никакой другой безопасности - Skype будет работать нормально. Пожалуйста, ознакомьтесь здесь с более полным профилем Skype AppArmor, который вы можете использовать, если хотите дополнительно обезопасить Skype.

Как установить

  • Чтобы установить, выйдите из Skype, если он работает, а затем откройте терминал с помощью Ctrl-Alt-Tи введите / вставьте нижеприведенное, чтобы установить вставленный профиль в каталог профилей apparmor. (Вы также можете вручную вставить его, /etc/apparmor.d/usr.bin.skypeесли хотите)

    sudo wget -O/etc/apparmor.d/usr.bin.skype http://pastebin.com/raw.php?i=2EYME5eF

  • Затем введите, sudo /etc/init.d/apparmor reloadчтобы перезагрузить все профили, включая только что добавленный Skype. Подождите несколько секунд ...

  • Чтобы убедиться, что профиль был включен, введите sudo apparmor_status | egrep "mode|skype"

    • Результат должен показать что-то вроде следующего: Skype должен быть после «принудительного режима», но до любого из других режимов:
      21 профиль находится в принудительном режиме.
      / USR / бен / скайп
      22 профиля находятся в режиме жалоб.
      
  • Запустите Skype, и, надеюсь, значок панели исчезнет!

Как я могу добавить это поведение в свой профиль Skype AppArmor?

  • Просто добавьте эти строки в начале профиля, сразу после включения (они просто не позволяют Skype читать / загружать библиотеки sni-qt)

    deny /usr/lib/i386-linux-gnu/qt4/plugins/systemtrayicon/libsni-qt.so r,
    deny /usr/lib/x86_64-linux-gnu/qt4/plugins/systemtrayicon/libsni-qt.so r,
    

2. Не рекомендуется: безобразный взлом

  • Я дам только псевдокод, чтобы новые не попали в ловушки, но простого сценария bash, который выполняет следующее, достаточно, чтобы отключить значок панели:
    1. Удалите права на чтение из соответствующего файла libsni-qt.so для uid (пользователя), в котором запущен Skype.
    2. Запустите Skype, подождите немного, чтобы он загрузился.
    3. (Значок исчез, потому что Skype не может загрузить sni-qt.)
    4. Восстановите права на libsni-qt.so.
иш
источник
1
+50 Потому что это работает и для других программ.
МарковЧ1
Превосходно! Это идеальное дополнение к Skype-Wrapperтому, чтобы не снимать sni-qtупаковку. +1000 к тебе мой друг. Ура!
Габриэль
2
Проблема в том, что «Использовать apparmor для предотвращения загрузки Skype sni-qt» не работает с Skype, установленным из репозиториев Ubuntu по умолчанию. Когда я пытаюсь запустить 'skype', я просто получаю информацию, что для разрешения / usr / bin / skype отказано. Другое дело, что для этого приложения нет иконки. Использование Ubuntu 13.04. Могу ли я получить какую-либо помощь?
kcpr
2
После обновления приложения , к которому Skype не запускается из - за разрешений снова: /usr/bin/skype: 8: exec: /usr/lib/skype/skype: Permission denied. И эта проблема с иконками казалась просто временной ошибкой, теперь все в порядке, извините. Помощь все еще нужна. Спасибо.
kcpr
Мне помогло удалить sni-qt: i386 из моей 64-битной системы. Это нужно по скайпу, но не по - например - Spotify. В любом случае, это другой вариант решения этой проблемы, но он отличается от предложенного izx, который кажется лучшим.
kcpr
11

Только для Ubuntu 11.04 Natty :

  1. Через интерфейс командной строки (быстро) - сообщество OMGubuntu пришло с таким ответом :

    в терминале наберите

    gsettings get com.canonical.Unity.Panel systray-whitelist
    

    Это выведет что-то похожее на:

    ['JavaEmbeddedFrame', 'Mumble', 'Wine', 'Skype', 'hp-systray', 'scp-dbus-service']
    

    Мы хотим удалить Skype из этого белого списка, поэтому скопируйте / вставьте этот вывод в новую команду и удалите запись «Skype» следующим образом:

    gsettings set com.canonical.Unity.Panel systray-whitelist "['JavaEmbeddedFrame', 'Mumble', 'Wine', 'hp-systray', 'scp-dbus-service']"
    
  2. Через графический пользовательский интерфейс (более доступный), предложенный con-f-use для ответа на этот вопрос . Просто сделайте противоположное тому, что он / она предлагает.

Теперь при следующем входе в систему значок Skype исчезнет.


Обратите внимание, что установка пакета pidgin-skype Установите пиджин-скайп позволит вам добавить свою учетную запись Skype в empathy, что позволит вам контролировать свой статус Skype с помощью элегантного меню me.

Оливье
источник
7
обратите внимание, что хотя это работает, это для 11.04 НЕ 10.10 или 10.04
Uri Herrera
Если вам нужен графический инструмент, вы можете установить gconf, sudo apt-get install gconf-toolsа затем запустить gconf-editorв порядке, обратном описанному здесь: askubuntu.com/questions/43280/…
con-f-use
Спасибо вам за использование. Вы имели в виду dconf вместо gconf? gconf-editor установлен по умолчанию, но не отображает записи конфигурации для единства для меня.
Оливье
d-conf показывает белый список панели единства
robin0800
3
Не работает для Unity 2D. Skype нет в моем белом списке: ['JavaEmbeddedFrame', 'Mumble', 'Wine', 'hp-systray'], но он все равно будет отображаться на панели.
Настроение
2

В /usr/share/icon/skype.pngмоей системе нет значка . Иконка в трее не для запуска, а для сообщения о состоянии. Он показывает ваш онлайн-статус (онлайн, нет, dnd, ...), а также сообщает о поступлении новых сообщений. Как таковой, он динамичный.

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

MPi
источник
2

Удалите sni-qtпакет из вашей системы, и он должен уйти, я думаю.

Добей
источник
5
Также я подумал, что этот пакет жизненно важен для других программ, которые хотят использовать верхнюю панель (например, Dropbox и WeatherIndicator). Я не хочу выкорчевать почву для всего сада, когда я смогу просто вырвать травку.
superjudge3
Нет, Dropbox имеет надлежащую интеграцию с API индикаторов, как и индикатор погоды. Пакет sni-qt используется только приложениями Qt, которые используют стандартный API значков в трее Qt, а не API-интерфейс Unity Indicator.
Добей
Вам нужны оба apt-get remove sni-qt:i386иapt-get remove sni-qt
антитоксический
Это вводит некоторые сбои для меня. Плохая идея.
MarkovCh1
@ Сизигий как? То, есть ли оно там или нет, не имеет отношения к тому, будут ли приложения падать. Если вы удалили его и получили сбои, то, скорее всего, это просто проблема в самой программе.
Добей
-1

Насколько я знаю, вы не можете удалить Skype из systray, но вы можете либо удалить systray, если у вас нет программного обеспечения, которое его использует, либо заменить значок Skype, который здесь находится: /usr/share/icon/skype.pngтем, что вы хотите ,

Ньямиоу Галеантроп
источник
ну, не тот ответ, который я надеялся получить, но, тем не менее, спасибо, лучше, чем ничего;)
harppu 16.10.10