pluginsystem
-
dort will ich keine plugins reinkopieren
Die ablage der SO's oder DLL's ist doch vollkommen schnuppe fuer das konzept selber.
Lass den User von mir aus nen verzeichniss angeben, wo er die so's sucht. Wenn nen programm unter unix unter user-rechten laeuft, braucht er die so nur lesen zu koennen, und schon kann er sie verwenden. Also spricht nicht mal was dagegen es ins home verzeichiss unter ~/appname/plugins zu legen. Und die App selber auch noch globale plugins laden zu lassen die unter /usr/share/appname/plugins liegen.Weiterhin kannst den user sogar selber angeben lassen welches plugin er laden soll .... einfach mit nem dateiauwahldialog ....
Wo ist denn da das Problem ?
BTW die QT bietet auch nen rudimentaeres Plugin Framework an, das kann man auch nutzen .... erspart viel basisarbeit.
Ciao ...
-
RHBaum schrieb:
dort will ich keine plugins reinkopieren
bezieht sich auf die */bin verzeichnisse
RHBaum schrieb:
Die ablage der SO's oder DLL's ist doch vollkommen schnuppe fuer das konzept selber.
Lass den User von mir aus nen verzeichniss angeben, wo er die so's sucht. Wenn nen programm unter unix unter user-rechten laeuft, braucht er die so nur lesen zu koennen, und schon kann er sie verwenden. Also spricht nicht mal was dagegen es ins home verzeichiss unter ~/appname/plugins zu legen. Und die App selber auch noch globale plugins laden zu lassen die unter /usr/share/appname/plugins liegen.ja natürlich, ist alles vollkommen klar. ich wollte nur konzeptvorschläge wie man ein pluginsystem (verzeichnissstruktur, configfiles etc. was auch immer) praktikabl und einfach (in bezug auf userfreundlichkeit ohne jetzt riesige automatismen zu entwerfen) unter linux entwirft.
RHBaum schrieb:
BTW die QT bietet auch nen rudimentaeres Plugin Framework an, das kann man auch nutzen .... erspart viel basisarbeit.
benutze gtk
-
miller_m schrieb:
die vorteile ~/.programmname sind klar ersichtlich. nachteil wäre meiner meinung nach einem user beizubringen das er die plugins dort hin kopieren muss (ich sehe keinen ordner im konqueror, nautilus, etc der so heisst)
Der Nachteil ist auch ganz klar, dass einmal installierte Plugins nur dem User zur Verfügung stehen. Mehrere User mit dem selben Tool und den selben Plugins installieren die Plugins mehrfach und die Plugins liegen mehrfach in unterschiedlicher Version im Filesystem. In meinen Augen das Unschönste was man machen kann. Bei Konfigurationsdateien ist das was anderes.
Gibts unter Linux keinen "Common"-Bereich wo jeder hin und Dateien hinlegen darf?
-
junix schrieb:
Der Nachteil ist auch ganz klar, dass einmal installierte Plugins nur dem User zur Verfügung stehen.
Es sei denn, ein Admin installiert sie systemweit.
Gibts unter Linux keinen "Common"-Bereich wo jeder hin und Dateien hinlegen darf?
Dafür gibts normalerweise /pub, aber da legt man keine Programme ab (und auch keine Plugins). Unter Unix darf einfach kein Non-Admin Programme außerhalb des Homedirectories installieren; praktische Sache, das.
-
Artchi schrieb:
Stimmt. Was spricht gegen ~/programmname?
Dass ich mir mein Homedirectory nicht von jedem dahergelaufenen Programm mit sichtbaren Dateien zumüllen lassen will. Das Anlegen sichtbarer Verzeichnisse oder Dateien bleibt mir als User vorbehalten bzw. Programmen, die ich direkt dazu anweise. (Bspw. der Projekte-Ordner einer IDE oä.)
-
miller_m schrieb:
ich dacht das wäre geklärt? frag dich doch mal wo dein programm liegt
Das ist mir schon klar gewesen, Programmverzeichnis war nur ein Beispiel, wenn nicht Programmverzeichnis dann halt irgendein Verzeichnis, das man im Programm z.B unter "Einstellungen" angeben kann.
Nur ich habe dein Posting so verstanden als würdest du so-libs als plugins für sinnlos halten, die so-libs sind aber hierfür doch sehr gut geeignet.
-
Für programmspezifische, systemweite Plugins als so bietet sich das Verzeichnis /usr/lib/progname oder /usr/local/lib/progname an. Benutzerspezifische Plugins gehören dann wie bereits erwähnt in ~/.progname oder ~/.progname/plugins.
Ein System, bei dem jeder User systemweite Plugins installieren könnte, wäre fatal. Systemweit darf immer nur root. Ich könnte ja sonst ein Plugin schreiben, welches beim initialisieren z. B. den Inhalt des Homeverzeichnisses ausliest und mir zur Verfügung stellt, wenn der aktuelle User nicht meinem User entspricht. Noch fataler wäre es, wenn root ein Plugin lädt, welches ich installiert habe. Das Plugin kann mir dann gleich eine Hintertür installieren.
Tntnet
-
Hm. Systemweite würd ich auch unter /usr/share/programmname/plugins ablegen. Programme muss man ja eh meist als su installieren, passt schon.
Und dann eben ~/.programmname für ne config welche Plugins geladen werden sollen.
-
Dass ich mir mein Homedirectory nicht von jedem dahergelaufenen Programm mit sichtbaren Dateien zumüllen lassen will.
Also ich hab unter anderem nen Ubuntu laufen, mit MC, mit paar Gdesklets und ansonsten alles dateien die per default installiert werden.
Und schon sieht mein user-Verzeichniss aus wie das Hauptverzeichnis eines Emule Servers
Also hab da vielleicht 10 verzeichnisse und mehrere hundert config dateien liegen, ohne das ich einem Programm die expliziete Anweisung zu gegeben haett.Das nur mal so zum Thema jungfraeulichkeit des user verzeichnisses ! wenn man da schoen geordnet reinschreibt, z.b. nach ~/.Appname/plugins und ~/.Appname/config etc, haett ich da null Skrupel. Machen eh schon genug andere Programme auch und das meist sogar als sichtbare verzeichnisse (ohne . davor)
Ciao ...
-
RHBaum schrieb:
Also ich hab unter anderem nen Ubuntu laufen, mit MC, mit paar Gdesklets und ansonsten alles dateien die per default installiert werden.
Und schon sieht mein user-Verzeichniss aus wie das Hauptverzeichnis eines Emule Servers
Also hab da vielleicht 10 verzeichnisse und mehrere hundert config dateien liegen, ohne das ich einem Programm die expliziete Anweisung zu gegeben haett.Lies mein Zitat bitte nochmal:
Dass ich mir mein Homedirectory nicht von jedem dahergelaufenen Programm mit sichtbaren Dateien zumüllen lassen will.
Dass man Dotfiles anlegen darf, steht außer Frage; ~/.programmname ist ok. Ich habe nur gegen das ebenfalls vorgeschlagene ~/programmname argumentiert.
-
RHBaum schrieb:
...und das meist sogar als sichtbare verzeichnisse (ohne . davor)
Tatsächlich? Gib mal Beispiele, ich hab da nämlich kein einziges vor Ort. (Und ich habe _viele_ Programme installiert.)