Wie kann ich das Skype-Bedienfeldsymbol entfernen?

27

Da ich die Docky Skype-Anzeige verwende und das grüne Skype-Symbol neben allen grauen nicht gut aussieht, wäre es schön, das Symbol aus der Taskleiste zu entfernen.

Ist das möglich? Wie mache ich das in Ubuntu 12.04 - oder anderen früheren Versionen?

Harppu
quelle

Antworten:

19

Entfernen des Skype-Bedienfeldsymbols in 12.04 ohne Entfernensni-qt

  • Wenn Sie sich nicht darum kümmern sni-qt, ist das Entfernen des Symbols so einfach wie das Ausführenapt-get remove sni-qt sni-qt:i386
  • Die Installation der von Skype bereitgestellten deb ist keine Lösung. Alles, was die Ubuntu-Version tut, ist, dasselbe Skype-Deb zu bündeln, aber sni-qteine Abhängigkeit zu machen , um das Symbol zu aktivieren.

Eine einfache Änderung der Conf-Datei oder das Installieren / Entfernen eines Pakets reicht nicht aus.

  • sni-qt wird von diesen gemeinsam genutzten Bibliotheken bereitgestellt:

    /usr/lib/i386-linux-gnu/qt4/plugins/systemtrayicon/libsni-qt.so
    /usr/lib/x86_64-linux-gnu/qt4/plugins/systemtrayicon/libsni-qt.so
    
  • Eine garantierte Möglichkeit, das Skype-Symbol zu entfernen, während sni-qtes für andere Apps verfügbar bleibt, besteht darin, zu verhindern, dass Skype diese gemeinsam genutzten Bibliotheken lädt.

  • Dies kann auf zwei Arten geschehen: auf zivilisierte Weise und auf eine Brute-Force-Bash-Hacker-Weise.


1. Sehr zu empfehlen: Verwenden Sie Apparmor , um das Laden von Skype zu verhindernsni-qt

  • AppArmor ist ein Sicherheitsframework, das in den Linux-Kernel integriert ist und Berechtigungen für das festlegt, worauf ein Programm zugreifen kann und nicht. Es ist standardmäßig in Ubuntu aktiviert.

  • Ein Beispielprofil für Skype ist in den App-Rüstungsprofilen enthalten. Ich habe das NUR geändert, um unser Ziel, das Bedienfeldsymbol zu deaktivieren , zu erreichen - andere Sicherheitsfunktionen wurden entfernt.

  • Sie können das eingefügte Profil hier anzeigen . Die Zeilen 24-25 sind die Bits, die uns wichtig sind.

WARNUNG : Dieses Profil bietet KEINE andere Sicherheit - Skype wird normal ausgeführt. Bitte beachten Sie hier für eine vollständigere Skype AppArmor - Profil , die Sie verwenden können , wenn Sie Skype weiter sichern möchten.

Wie installiert man

  • Beenden Sie zum Installieren Skype, falls es ausgeführt wird, und öffnen Sie dann ein Terminal mit. Ctrl-Alt-TGeben Sie Folgendes ein, um das eingefügte Profil in Ihrem Apparmor-Profilverzeichnis zu installieren. (Sie können es auch manuell einfügen, /etc/apparmor.d/usr.bin.skypewenn Sie möchten)

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

  • Geben Sie dann sudo /etc/init.d/apparmor reloadalle Profile neu zu laden, darunter die skype, die wir gerade hinzugefügt haben. Warte ein paar Sekunden ...

  • Geben Sie ein, um zu überprüfen, ob das Profil aktiviert wurde sudo apparmor_status | egrep "mode|skype"

    • Das Ergebnis sollte ungefähr so ​​aussehen: Skype sollte nach "Modus erzwingen" stehen, aber vor allen anderen Modi:
      21 Profile befinden sich im Erzwingungsmodus.
      / usr / bin / skype
      22 Profile befinden sich im Beschwerdemodus.
      
  • Starten Sie Skype, und das Bedienfeldsymbol sollte hoffentlich verschwunden sein!

Wie kann ich dieses Verhalten meinem eigenen Skype AppArmor-Profil hinzufügen?

  • Fügen Sie diese Zeilen einfach am Anfang des Profils direkt nach den Includes hinzu (sie verhindern lediglich, dass Skype die sni-qt-Bibliotheken liest / lädt).

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

2. Nicht zu empfehlen: ein hässlicher Bash-Hack

  • Ich gebe nur Pseudocode ein, um zu verhindern, dass Neues in Fallen gerät, aber ein einfaches Bash-Skript, das die folgenden Schritte ausführt, reicht aus, um auch das Bedienfeldsymbol zu deaktivieren:
    1. Entfernen Sie die Leseberechtigungen aus der entsprechenden Datei libsni-qt.so für das Skype-Konto uid (user), unter dem ausgeführt wird.
    2. Starte Skype, warte ein bisschen, damit es geladen wird.
    3. (Das Symbol ist verschwunden, da Skype sni-qt nicht laden konnte.)
    4. Stellen Sie die Berechtigungen für libsni-qt.so wieder her.
ish
quelle
1
+50 Weil dies auch für andere Software funktioniert.
MarkovCh1
Ausgezeichnet! Dies ist die perfekte Ergänzung, Skype-Wrapperohne die sni-qtVerpackung entfernen zu müssen . +1000 dir mein Freund. Prost!
Gabriel
2
Das Problem ist, dass "Mit Apparmor verhindern, dass Skype sni-qt lädt" nicht mit Skype funktioniert, das von Ubuntu-Standardrepositorys installiert wurde. Beim Versuch, "Skype" auszuführen, erhalte ich nur die Information, dass die Berechtigung für / usr / bin / skype verweigert wurde. Eine andere Sache ist, dass es kein Symbol für diese Anwendung gibt. Verwenden von Ubuntu 13.04. Kann ich Hilfe bekommen?
kcpr
2
Die Anwendung der Skype wegen Erlaubnis nicht wieder starten Nach der Aktualisierung: /usr/bin/skype: 8: exec: /usr/lib/skype/skype: Permission denied. Und dieses Icon-Problem schien nur ein vorübergehender Fehler zu sein, es ist jetzt in Ordnung, sorry. Hilfe noch benötigt. Vielen Dank.
kcpr
Was mir geholfen hat, war, sni-qt: i386 von meinem 64-Bit-System zu entfernen. Es wird von Skype benötigt, aber nicht von Spotify. Wie auch immer, es ist eine andere Möglichkeit, dieses Problem zu lösen, aber anders als die von izx vorgeschlagene, die am besten zu sein scheint.
kcpr
11

Nur für Ubuntu 11.04 Natty :

  1. Über die Befehlszeilenschnittstelle (schnell) hat sich die OMGubuntu-Community diese Antwort ausgedacht :

    Geben Sie in einem Terminal Folgendes ein

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

    Dies gibt etwas Ähnliches aus wie:

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

    Wir möchten Skype aus dieser Whitelist entfernen. Kopieren Sie diese Ausgabe in einen neuen Befehl, und entfernen Sie den Eintrag "Skype" wie folgt:

    gsettings set com.canonical.Unity.Panel systray-whitelist "['JavaEmbeddedFrame', 'Mumble', 'Wine', 'hp-systray', 'scp-dbus-service']"
    
  2. Über eine grafische Benutzeroberfläche (zugänglicher), wie von con-f-use bei der Beantwortung dieser Frage vorgeschlagen . Mach einfach das Gegenteil von dem, was er vorschlägt.

Bei der nächsten Anmeldung wird das Skype-Symbol nicht mehr angezeigt.


Wenn Installieren Sie Pidgin-Skype Sie das pidgin-skype- Paket installieren, können Sie Ihr Skype-Konto zu empathy hinzufügen. So können Sie Ihren Skype-Status über das elegante me-Menü steuern.

Olivier
quelle
7
Beachten Sie, dass dies zwar für den 11.04., NICHT für den 10.10. oder den 10.04. gilt
Uri Herrera,
Wenn Sie ein grafisches Tool benötigen, können Sie gconf installieren sudo apt-get install gconf-toolsund dann gconf-editorumgekehrt zu den hier beschriebenen Schritten
con-f-use
Vielen Dank, dass Sie con-f-use. Meinten Sie dconf statt gconf? gconf-editor ist standardmäßig installiert, zeigt aber keine Einträge zur Konfiguration von Unity für mich an.
Olivier
d-conf zeigt die Whitelist des Unity-Panels
robin0800
3
Funktioniert nicht für Unity 2D. Skype ist nicht auf meiner Whitelist: ['JavaEmbeddedFrame', 'Mumble', 'Wine', 'hp-systray'], aber es wird immer noch im Panel angezeigt.
Stimmung
2

In /usr/share/icon/skype.pngmeinem System befindet sich kein Symbol . Das Taskleistensymbol dient nicht zum Starten, sondern zum Melden des Status. Es zeigt Ihren Onlinestatus (online, abwesend, dnd, ...) und meldet auch, ob neue Nachrichten eingehen. Als solches ist es dynamisch.

Es scheint in die Skype-Binärdatei eingebettet zu sein, ohne dass es geändert werden kann. Ich würde sehr gerne korrigiert werden, da ich diesen grünen Fleck auch verachte.

MPi
quelle
2

Entfernen Sie das sni-qtPaket von Ihrem System, und es sollte verschwinden, denke ich.

dobey
quelle
5
Auch ich dachte, dass dieses Paket für andere Programme, die das obere Bedienfeld verwenden wollten (wie Dropbox und WeatherIndicator), von entscheidender Bedeutung ist. Ich möchte nicht im ganzen Garten herumwühlen, wenn ich nur ein Unkraut entfernen kann.
Superjudge3
Nein, Dropbox ist ordnungsgemäß in die Anzeige-APIs integriert, ebenso wie die Wetteranzeige. Das sni-qt-Paket wird nur von Qt-Anwendungen verwendet, die die standardmäßige Qt-Tray-Symbol-API verwenden, anstatt die Unity Indicator-APIs zu verwenden.
Dobey
Sie brauchen beide apt-get remove sni-qt:i386undapt-get remove sni-qt
antitoxisch
Dies bringt für mich einige Abstürze mit sich. Schlechte Idee.
MarkovCh1
@Syzygy wie? Es spielt keine Rolle, ob Anwendungen abstürzen oder nicht. Wenn Sie es entfernt haben und Abstürze bekommen haben, ist es höchstwahrscheinlich einfach ein Problem im Programm selbst.
Dobey
-1

Soweit ich weiß, können Sie Skype nicht aus dem Systray entfernen. Sie können jedoch entweder das Systray entfernen, wenn Sie keine Software verwenden, oder das hier angezeigte Skype-Symbol /usr/share/icon/skype.pngdurch das gewünschte ersetzen .

Nyamiou der Galeanthrope
quelle
naja