XFCE: Desktop-Icons aktualisieren sich nicht automatisch

Morfio

Well-Known Member
Hallo zusammen,

auf einem FreeBSD 10.2 ist XFCE installiert. Löscht man z.B. ein Verzeichnis vom Desktop, wird es zwar entfernt, aber immer noch angezeigt. Erst bei Druck auf F5 verschwindet es. Das selbe ist, wenn man per Konsole oder Dateimanager ein Verzeichnis erstellt oder Dateien auf den Desktop kopiert. Diese werden auch erst dann angezeigt, wenn man F5 drückt.

Woran könnte das liegen?

Viele Grüße

Morfio
 
Hello Morfio,

nur mal so ein Schuss ins Blaue, aber werden "dbus" und "hald" beim Systemboot gestartet?
Wie wird Xfce gestartet? Über einen Displaymanager oder per "startx"?

Beste Grüße,
laenger
 
Ich habe das ebenfalls schon beobachtet, aber nicht weiter verfolgt. Sobald ich am PC sitze werde ich das nochmals prüfen und Bescheid geben.

Hier läuft jedenfalls dbus und hald.
 
Moin ....


mal so ins blaue ...

.xinitrc :

exec ck-launch-session dbus-launch whatever-session


Oder nur :

exec whatever-session


??
 
So, ich habe es getestet. Das Verhalten tritt immer noch bei mir auf. Seit wann kann ich nicht genau sagen. Aufgefallen ist es mir erst nach dem Update auf FreeBSD-10.2. Ob es damit zusammenhängt? Wie auch immer: Ich starte xfce über gdm3...
 
Ich habe gerade mal FreeBSD + KDE in VirtualBox installiert. Da funktioniert es. Bei mir ist der Unterschied, dass ich das Home per NFS mounte. Hat da jemand eine Idee?
 
Wenn du via Kommandozeile agierst, ist es dann das gleiche Verhalten?
Also eine Datei auf dem NFS-Share via rm löschen und dann mal nachsehen, ob sie bei einem ls immer noch auftaucht.

Rob
 
Wenn du via Kommandozeile agierst, ist es dann das gleiche Verhalten?
Nein, das funktioniert einwandfrei. Sobald man den Desktop aktualisiert, ist es ja korrekt.

So, wie ich es verstehe, wird Gamin als File-Observer-Library genutzt. Unter Umständen funktioniert das mit NFS nicht.

Auf der Garmin Website steht:

No NFS support based on specific RPC and server, instead gamin monitors only the state as reported locally by the kernel, not that locally done changes on NFS or AFS filesystems are reported on Linux which is the main criteria when having user home directories on such filesystems.
 
das ist alles schon so lange her, da kann ich mich gar nicht mehr erinnern.
Es gibt da irgendwie zwei Möglichkeiten, ich glaube fam und gamin (unter FreeBSD) fam ist wohl das ältere Verfahren, das alle paar Sekunden checkt und gamin checkt dauernd über ein kernel-Modul oder so ähnlich, aber es muss dazu auch alle Dateien "anfassen". Das hat was mit FreeBSD zu tun, das da anders ist, als Linux.
Und dann gibt es oder gab es eine Art Dämon dafür, den gam_server.
Wie das alles zusammenhing, weiß ich nicht mehr. Ich hatte beide Methoden probiert und ausgiebig getestet, meine auch, darüber hier im Forum gesprochen zu haben.
Wirklich super befriedigend ist das Ergebnis nicht, aber es funktioniert und so weit ich es sagen kann, auch mit NFS (allerdings nicht /usr/home/...).
In meinem laufenden System (8.4) sehe ich aber weder den einen noch den anderen Dienst laufen und auch keinen Server.
Da würde ich aber deshalb nachforschen und im Zweifel den gamin und seine Abhängigkeiten nochmal neu durchbauen.
 
Ich kompiliere momenten über Poudriere mal gamin neu und probiere dann nochmal. Ich habe da mal alle Optionen hineingenommen.
 
Mit den folgenden Optionen in devel/gamin

Code:
# This file is auto-generated by 'make config'.
# Options for gamin-0.1.10_8
_OPTIONS_READ=gamin-0.1.10_8
_FILE_COMPLETE_OPTIONS_LIST=GAM_POLLER LIBINOTIFY RUN_AS_EUID
OPTIONS_FILE_SET+=GAM_POLLER
OPTIONS_FILE_SET+=LIBINOTIFY
OPTIONS_FILE_SET+=RUN_AS_EUID

funktioniert es leider auch nicht. Das Problem scheint aber nicht alleine an NFS zu liegen, da ich zu Hause die selben Probleme habe und dort wird kein NFS für's Home genutzt.
 
soviel ich das noch auf die Reihe kriege, ist der eingebaute gam_poller nicht die erste Wahl, sondern der kernel-integrierte kqueue -Dienst. Deshalb würde ichd ie erste Option jedenfalls anders setzen, was aber natürlich nicht bedeutet, dass es damit funktionieren wird.
Die Option run_as_euid hatte ich auch immer gesetzt, wenn ich das noch richtig erinnere.

Bei mir läuft ja derzeit kein XFCE oder GNOME und ich habe auch kein aktuelles System. Es sieht so aus, dass ich gar kein gamin oder fam installiert habe und nutze. Allzu viel Zeit will ich da aber nicht investieren. Heute Abend oder morgen Früh wird mein PC heruntergefahren und bleibt für einige Wochen aus.
Mit dem von mir benutzten Xfe oder mit PCMANFM aus LXDE (?) funktioniert die Aktualisierung offenbar auch ohne gamin. Es wird nicht immer sofort aktualisiert, aber ich denke, innerhalb von wenigen Sekunden passiert das doch, auch bei NFS gemounteten Freigaben. Allerdings habe ich häufig mehrere Reiter offen und schiebe mittels Maus auch schon mal von Xfe auf PCMANFM oder den ROX-Filer und umgekehrt und dabei habe ich dann auch schon mal erlebt, dass ich Ansichten manuell Aktualisieren musste. Das aber wieder unabhängig von NFS.
Wie auch immer.
Vielleicht ist da ja auch etwas nicht mehr im Betrieb bei neueren Versionen. Man müsste dann vielleicht Hinweise finden, etwa in UPDATING.
Jedenfalls denke ich, dass der Neubau von gamin vielleicht nicht genügt, sondern alle Abhängigkeiten auch neu gebaut werden müssen, damit sie dann den gamin auch kennen lernen.
 
Das hat nicht zufällig etwas mit dem Problem zu tun?
===>>> pkg-message for libinotify-20150910
============================================================================

Libinotify functionality on FreeBSD is missing support for

- detecting a file being moved into or out of a directory within the
same filesystem
- certain modifications to a symbolic link (rather than the
file it points to.)

in addition to the known limitations on all platforms using kqueue(2)
where various open and close notifications are unimplemented.

This means the following regression tests will fail:

Directory notifications:
IN_MOVED_FROM
IN_MOVED_TO

Open/close notifications:
IN_OPEN
IN_CLOSE_NOWRITE

Open/close notifications:
IN_OPEN
IN_CLOSE_NOWRITE
IN_CLOSE_WRITE

Symbolic Link notifications:
IN_DONT_FOLLOW
IN_ATTRIB
IN_MOVE_SELF
IN_DELETE_SELF

Kernel patches to address the missing directory and symbolic link
notifications are available from:

https://github.com/dmatveev/libinotify-kqueue/tree/master/patches

=============================================================================
You might want to consider increasing the kern.maxfiles tunable if you plan
to use this library for applications that need to monitor activity of a lot
of files.

If the default on your system is too low, add the following line to
/boot/loader.conf, then reboot the system:

kern.maxfiles="25000"
=============================================================================
 
Zurück
Oben