... the user friendly GPS tool


Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
RouteConverter unter Linux nicht mehrbenutzerfähig
#1
Hallo Christian,
eine Kleinigkeit ist mir noch bei der Linux-Version aufgefallen. /tmp als Ablage für die RouteConverter Dateien zu wählen ist nicht unproblematisch: Wenn ein Nutzer RoutConverter gestartet hatte, sind die Dateien für diesen Nutzer les- und schreibar. Alle anderen erhalten eine Fehlermeldung, das sie auf z.B. /tmp/routeconverter/routeconverter.html keinen Zugriff haben.
Du solltest entweder unter /tmp ein Routconfig-Verzeichnis mit Benutzernamen oder (noch besser) diese Dateien in ein Verzeichnis im Home-Verzeichnis anlegen. (Steht in System.getProperty("user.home") )

Viele Grüße
Arne
Reply
#2
(10.10.2009, 20:31)dasarne Wrote: eine Kleinigkeit ist mir noch bei der Linux-Version aufgefallen. /tmp als Ablage für die RouteConverter Dateien zu wählen ist nicht unproblematisch: Wenn ein Nutzer RoutConverter gestartet hatte, sind die Dateien für diesen Nutzer les- und schreibar.

Was schlägst Du vor? Alles, was ich brauche, ist eine Möglichkeit, einen Webbrowser mit einer URL zu initialisieren.

Im Moment (siehe Code) lagere ich dazu die routeconverter.html nach java.io.tmpdir aus - und zwar nur, wenn die im JAR vorhandene Datei neuer ist als die im Dateisystem.

(10.10.2009, 20:31)dasarne Wrote: Alle anderen erhalten eine Fehlermeldung, das sie auf z.B. /tmp/routeconverter/routeconverter.html keinen Zugriff haben.

Hast Du da Fehlermeldungen gesehen?

(10.10.2009, 20:31)dasarne Wrote: Du solltest entweder unter /tmp ein Routconfig-Verzeichnis mit Benutzernamen oder (noch besser) diese Dateien in ein Verzeichnis im Home-Verzeichnis anlegen.

Kann ich davon ausgehen, daß ich ins Nutzerverzeichnis immer schreiben kann?
--
Christian
Reply
#3
(11.10.2009, 10:39)routeconverter Wrote: Was schlägst Du vor? Alles, was ich brauche, ist eine Möglichkeit, einen Webbrowser mit einer URL zu initialisieren.
Da fallen mir spontan zwei Lösungen ein:
1. Du machst es wie bisher nur fügst den Benutzernamen ein:
Code:
private static final File tempDirectory = new File(System.getProperty("java.io.tmpdir") +"-"+System.getProperty("user.name")  + File.separator + "routeconverter");
So machen es z.B. KDE oder vmware.
2. Du machst einen Port auf und transportierst die Daten über Localhost. Das geht einfach über Java 1.6 (Siehe hier.)

(11.10.2009, 10:39)routeconverter Wrote: Hast Du da Fehlermeldungen gesehen?
Siehe Anhang. Wink

(11.10.2009, 10:39)routeconverter Wrote: Kann ich davon ausgehen, daß ich ins Nutzerverzeichnis immer schreiben kann?
Davon kannst Du ausgehen. Ich finde aber, das Du im Home-Verzeichnis keine solchen, doch sehr temporären Dateien speichern solltest.
Wenn überhaupt, dann leg ein Verzeichnis .RouteConverter in Home an.
Code:
private static final File tempDirectory = new File(System.getProperty("HOMEPATH") +File.separator + ".RouteConverter");
Dabei bedeutet der Punkt unter Unix gemeinhin "unsichtbar". Das ist aber in dem Sinne Plattform-abhängig.

Viele Grüße
Arne


Attached Files Thumbnail(s)
   
Reply
#4
(11.10.2009, 20:31)dasarne Wrote: Du machst es wie bisher nur fügst den Benutzernamen ein:
Code:
private static final File tempDirectory = new File(System.getProperty("java.io.tmpdir") +"-"+System.getProperty("user.name")  + File.separator + "routeconverter");
So machen es z.B. KDE oder vmware.

Wie wäre es weniger platformabhängig mit

Code:
private static final File tempDirectory = new File(System.getProperty("java.io.tmpdir") + File.separator + "routeconverter" + (Platform.isLinux() ? "-"  + System.getProperty("user.name") : ""));

denn unter Windows enthält das java.io.tmpdir ja schon den Nutzernamen?

(11.10.2009, 20:31)dasarne Wrote: Ich finde aber, das Du im Home-Verzeichnis keine solchen, doch sehr temporären Dateien speichern solltest.

Sehe ich auch so.
--
Christian
Reply
#5
(11.10.2009, 21:00)routeconverter Wrote: Wie wäre es weniger platformabhängig mit

Code:
private static final File tempDirectory = new File(System.getProperty("java.io.tmpdir") + File.separator + "routeconverter" + (Platform.isLinux() ? "-"  + System.getProperty("user.name") : ""));

denn unter Windows enthält das java.io.tmpdir ja schon den Nutzernamen?
Jau, das ist eine gute Lösung Smile
Reply
#6
Und in der 1.30 so umgesetzt Smile
--
Christian
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)