# Was ist genauer: Thread.sleep() oder meine Variante?



## JPKI (18. Apr 2007)

Schönen Tag auch.

Folgendes: Ich möchte einen Timer schreiben, der die Zeit vom Sytemstart bis zum Herunterfahren misst und in
einem Fenster mit sechs digitalen Ziffern darstellt. Dazu sollte auch die Zeitmessung sehr genau sein.

Jetzt meine Frage: Welcher der beiden von mir in Betracht gezogenen Methoden misst genauer?

*Methode 1*:

Ich lasse mit zu Beginn des Threads die aktuelle Systemzeit mittels System.getCurrentTimeMillis() geben
und ziehe diese dann bei jedem Hochzählen von der aktuellen Systemzeit ab. Dann habe ich die Millisekunden,
sie seit Beginn vergangen sind, rechne diese so um, dass ich sie auf sechs Digitalziffern verteilen kann und gebe
sie in einem int-Array aus:

```
public class TimeManager {

  private long systemTime, currentTime;
  private int hours, minutes, seconds;

  public TimeManager() {

   systemTime = System.currentTimeMillis();

   hours = 0;
   minutes = 0;
   seconds = 0;
 }

  public void countUp() { //diese Methode wird von einem externen Thread jede Sekunde aufgerufen

   currentTime = System.currentTimeMillis();
   long difference = (currentTime-systemTime)/1000;

   hours = (int)difference/3600;
   minutes = (int)(difference%3600)/60;
   seconds = (int)(difference%3600)%60;
 }

  public void start() {

   systemTime = System.currentTimeMillis();
 }

  public void reset() {

   hours = 0;
   minutes = 0;
   seconds = 0;
 }

  public int[] getTimeValues() {

   return new int[]{ (int)Math.floor(hours/10),
                     (int)hours%10,
                     (int)Math.floor(minutes/10),
                     (int)minutes%10,
                     (int)Math.floor(seconds/10),
                     (int)seconds%10 };
 }
}
```

*Methode 2:*

Ich definiere eine Variable int i = 0, zähle sie in einer while-Schleife immer um eins hoch und lasse den Thread mittels Thread.sleep() 1000 Millisekunden schlafen. Der Rest würde dann wie oben gehen.


----------



## schalentier (18. Apr 2007)

Beides ist ungenau. Der Java Timer (System.currentTimeMillis()) misst nur ca. 50-100ms.. Aber Variante 1 ist definitiv besser, das andre ist noch ungenauer, da auch noch paar Millisekunden fuer die while Schleife draufgehen.

Gibt irgendwo son Native-Interface fuer den HighPrecisionTimer deiner CPU, glaub ich. Das ist dann sicherlich genauer als die 50-100ms...


----------



## Wildcard (18. Apr 2007)

schalentier hat gesagt.:
			
		

> Beides ist ungenau. Der Java Timer (System.currentTimeMillis()) misst nur ca. 50-100ms.


Das ist ein reines Windows-Problem da die bereitgestellte API verbugt ist.
System.nanoTime verwendet daher eine andere Lib der Win-API und ist wesentlich genauer.


----------



## schalentier (18. Apr 2007)

ah cool.. ich sollte doch mal endlich die Java1.5 API lesen ;-)


----------



## Wildcard (18. Apr 2007)

Windows typisch ist das aber weiterhin verbuggt.
Soweit ich gelesen habe kann sehr häufiges und schnelles Aufrufen dieser Methode die Systemzeit verstellen  :autsch:


----------



## JPKI (18. Apr 2007)

Wildcard hat gesagt.:
			
		

> Soweit ich gelesen habe kann sehr häufiges und schnelles Aufrufen dieser Methode die Systemzeit verstellen  :autsch:


Hä? Wo haste das denn gelesen?
Liefert nanoTime() auch ein long, das man dann wie oben genannt subtrahieren kann? Oder liefert's was anderes?


----------



## Wildcard (18. Apr 2007)

Irgendwie hing das damit zusammen:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4500388



> Liefert nanoTime() auch ein long, das man dann wie oben genannt subtrahieren kann? Oder liefert's was anderes?


Nachschauen?  :wink:


----------



## JPKI (18. Apr 2007)

War grad zu faul um nachzuschauen...
@Wildcard: In dem Bericht steht, dass der Bericht schon gefixt wurde.


----------



## Wildcard (18. Apr 2007)

> @Wildcard: In dem Bericht steht, dass der Bericht schon gefixt wurde.


Neben Kommentaren das der Bug wieder geöffnet werden soll und SUNs verweisen auf verwandte Bugs.


----------



## JPKI (18. Apr 2007)

Die Kommentare hab ich net gelesen ;-)
Eine Frage noch: Wie genau/ungenau ist denn nanoTime() jetzt ungefähr?
Und ab welcher Distribution gibt's nanoTime() denn?


----------



## Wildcard (18. Apr 2007)

1.5
Zur Genauigkeit:
Plattformabhängig. Je nach dem was das OS hergibt.


----------



## JPKI (18. Apr 2007)

Wildcard hat gesagt.:
			
		

> Plattformabhängig. Je nach dem was das OS hergibt.


Für Windows XP und Linux 9.1 würd ich's gern ungefähr wissen.


----------



## Wildcard (18. Apr 2007)

Dann empfehle ich dir für WinXP googeln zum Thema QueryPerformanceCounter.
Soetwas wie Linux 9.1 gibt es nicht  :autsch:  :autsch:  :autsch:


----------



## JPKI (18. Apr 2007)

Wildcard hat gesagt.:
			
		

> Soetwas wie Linux 9.1 gibt es nicht  :autsch:  :autsch:  :autsch:


 ???:L  :bahnhof:


----------



## sparrow (18. Apr 2007)

JPKI hat gesagt.:
			
		

> Wildcard hat gesagt.:
> 
> 
> 
> ...



Öhm.... Also unter Linux 2.6.18 gehts sehr gut und genau. Und da springt auch keine Systemzeit. Uner Windows springt die Systemzeit bei dem zu häufigen Aufruf von Thread.sleep() mit sehr geringen Werten.
Ich hätte aber gerne den Sourcecode von Linux 9.1. Damit könnte ich viel Geld machen.
SCNR


Gruß
Sparrow


----------



## Wildcard (18. Apr 2007)

Linux ist ein Kernel. Aktuelle Version 2.6.20.7.
Das was man gerne als Linux bezeichnet (das Betriebssystem) ist mehr als ein Kernel, man spricht daher häufig von GNU/Linux.
Weiterhin gibt es Distributionen, Suse, Ubuntu, RedHat, Gentoo,...
Distributionen liefern einen in bestimmter Weise vorkonfigurierten Kernel + Tools und Anwednungen aus dem GNU Fundus.
Diese folgen einer eigenen, von Linux unabhängien Versionierung.


----------



## Wildcard (18. Apr 2007)

sparrow hat gesagt.:
			
		

> Ich hätte aber gerne den Sourcecode von Linux 9.1. Damit könnte ich viel Geld machen.


Damit wärst du deiner Zeit wohl schlappe 50 Jahre voraus


----------



## JPKI (18. Apr 2007)

Linux 2.6.18... meinte ich doch. Bin noch Linux-Einsteiger, deshalb kenn ich mich mit den Versionen noch nicht so aus. Bitte vielmals um Entschuldigung :wink: .


----------



## Tobias (18. Apr 2007)

Meine Glaskugel sagt, JPKI meinte SuSe 9.1. Da JPKI den Unterschied wohl nicht kennt, die Erläuterung: SuSe ist eine Distribution, die den Linux-Kernel (da ist Version 2.6 meines Wissens gerade aktuell - bin aber kein Linux-Nutzer, kann also auch voll daneben liegen) und verschiedene Programme für diesen Kernel zusammenfasst. Da es viele Distributionen gibt, ist eine Angabe wie "Linux 9.1" Unsinn, da kein Kernel mit dieser Versionsnummer existiert, und ohne weitere Informationen die Distribution nur geraten werden kann (in Deutschland ist SuSe einfach am weitesten verbreitet, deshalb mein Tipp).

Alle Klarheiten beseitigt?

mpG
Tobias

Edit: Warum zum Teufel übersehe ich eigentlich immer die zweite Seite?


----------



## Wildcard (18. Apr 2007)

Tobias hat gesagt.:
			
		

> (in Deutschland ist SuSe einfach am weitesten verbreitet, deshalb mein Tipp).


Da bin ich mir nicht so sicher. Laut Distrowatch liegt Ubuntu nach wie vor unangefochten an der Spitze.


----------



## JPKI (18. Apr 2007)

Tobias hat aber Recht. Nutze SuSe 9.1.


----------



## sparrow (18. Apr 2007)

JPKI hat gesagt.:
			
		

> Tobias hat aber Recht. Nutze SuSe 9.1.



Dann wird es Zeit für ein Update 
Aktuell ist openSUSE 10.2, SuSE 9.1 ist über 3 Jahre alt. Für eine Suse ist das schon übers Greisenalter hinaus 

Unter Linux funktionieren die Timer-Funktionen wirklich ziemlich präzise, immerhin reicht es um die Frames bei einem Spiel zu steuern. Unter Windows kann ich das nicht beurteilen.

System.nanoTime() gibt bei mir hier unter anderem folde Werte:

4263274645000
4263274657000

Die letzten 3 Stellen sind bei mir immer null, dass heisst die kleinste Differenz währen: 1000 Nanos, oder 1 Mikrosekunde, oder 0,001 Millisekunden.

Ob man allerdings so einfach die Auflösung eines Timers bestimmen kann weiss ich nicht.

Das System:


```
sparrow@pluto:~$ uname -a
Linux pluto 2.6.17-11-generic #2 SMP Tue Mar 13 23:32:38 UTC 2007 i686 GNU/Linux
sparrow@pluto:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 6.10
Release:        6.10
Codename:       edgy
```


Gruß
Sparrow


----------



## Wildcard (18. Apr 2007)

sparrow hat gesagt.:
			
		

> Ob man allerdings so einfach die Auflösung eines Timers bestimmen kann weiss ich nicht.


Die Auflösung schon, die Genauigkeit leider nicht.


----------



## sparrow (18. Apr 2007)

Wildcard hat gesagt.:
			
		

> sparrow hat gesagt.:
> 
> 
> 
> ...



Kannst du das mal nöher ausführen? Interessiert mich wirklich.
Wie soll man denn die Genauigkeit eines Timers messen.
Mit der Stopuhr daneben setzen?
*überleg*
Das ist eine völlig ernst gemeinte Frage.


----------



## Wildcard (18. Apr 2007)

sparrow hat gesagt.:
			
		

> Wie soll man denn die Genauigkeit eines Timers messen.


Meines Wissens basieren die meisten libs zur Performance Messung (also Funktionen wie nanoTime) auf dem CPU Takt, was besonders bei dynamischen Taktraten (Centrino zB) zu Ungenauigkeiten führen kann.
Wie man es nun sinnvoll misst kann ich dir leider nicht beantworten, aber es ist vermutlich nicht trivial.


----------



## JPKI (18. Apr 2007)

sparrow hat gesagt.:
			
		

> Aktuell ist openSUSE 10.2


Wenn's mein PC packen würde, hätt ich's mir schon längst draufgemacht ;-) !


----------



## Wildcard (18. Apr 2007)

Schmeiß einfach KDE runter und mach zB FluxBox drauf, dann packt er das.


----------



## sparrow (18. Apr 2007)

Wildcard hat gesagt.:
			
		

> Schmeiß einfach KDE runter und mach zB FluxBox drauf, dann packt er das.



Nicht unbedingt.
YaST braucht seid 10.2 mehr Speicher meider Installation als vorher, oder eine, bereits vor der Installation, eingerichtete Swap-Partition.

Ansonsten haste Recht.


Aber das mit dem Timer interessiert mich, ich lern mal eben Wikipedia auswendig.


----------



## JPKI (18. Apr 2007)

Wildcard hat gesagt.:
			
		

> Schmeiß einfach KDE runter und mach zB FluxBox drauf, dann packt er das.


Schön wärs... Dabei hängt sich schon die Setup-DVD auf ;-)  :bae: !


----------



## Wildcard (18. Apr 2007)

Dann eben Xubuntu oder DSL oder so  :bae:


----------



## JPKI (18. Apr 2007)

Da spar ich lieber 'n Bissel und rüste meinen PC ma so richtig auf ;-) .


----------



## Wildcard (18. Apr 2007)

Und dann schön Ubuntu + Beryl drauf  :wink:


----------



## JPKI (18. Apr 2007)

Weil du's bist ;-)


----------



## Wildcard (18. Apr 2007)

Ich muss mal den guten Mark fragen ob ich Provision für die ganze Werbung kriege


----------



## Fatal Error (18. Apr 2007)

hehe beryl 
kann nicht mehr ohne meine wabbelden fenster leben^^
viel besser als alles unter vista...


aja hast scho das neue 2.0? wo man die fenster gruppiern und tabben kann?


----------



## Wildcard (18. Apr 2007)

Gruppieren?

Aber was meinst du mit tabben?


----------



## sparrow (18. Apr 2007)

Sicherlich das "durchzappen" der Fenster nach und nach.
Meist ausgelöst durch ALT + TAB.

Das besondere bei Beryl/Compiz ist dabei, dass alle Fenster mit Inhalt angezeigt werden und nicht nur die Icons.


----------



## JPKI (19. Apr 2007)

Wildcard hat gesagt.:
			
		

> Ich muss mal den guten Mark fragen ob ich Provision für die ganze Werbung kriege


Die Provision teilen wir uns aber, denn immerhin haben unseren Dialog bestimmt sehr viele Gäste gelesen, die jetzt auch umsteigen :wink:  :bae: .

@Wildcard: Geiler Desktop! Schick mal Link und Tipp mal Systemmindestanforderungen ab (bitte) ;-) .


----------



## Wildcard (19. Apr 2007)

Link zu was?
Das ist der 3D Desktop Beryl.
Bei mir mit Ubuntu Edgy Eft und Gnome als Window Manager.










Die Systemanforderungen...
So ca. 500Mhz 512MB Ram und eine 3D fähige Karte (integrierte Intel Karte reicht völlig).


----------



## JPKI (19. Apr 2007)

Hm. Würde die Geschwindigkeit sehr darunter leiden, wenn man es auf einem 700 MHz-System mit *128* MB RAM installieren würde?


----------



## Wildcard (19. Apr 2007)

JPKI hat gesagt.:
			
		

> Hm. Würde die Geschwindigkeit sehr darunter leiden, wenn man es auf einem 700 MHz-System mit *128* MB RAM installieren würde?


Ich vergas... dein 'Entwicklungsrechner'  :roll: 
Vergiss es, mit so einer Gurke darf man nicht mitspielen, da läuft gar nichts mehr drauf.
Du hast doch auch einen halbwegs normalen Rechner, mach's doch da rauf.


----------



## JPKI (19. Apr 2007)

Wildcard hat gesagt.:
			
		

> Ich vergas... dein 'Entwicklungsrechner'  :roll:


Lese ich da ein Fünkchen Ironie heraus ;-) ?
Hast ja Recht, ich werd's mir wohl auf den anderen Rechner packen.


----------



## Ariol (19. Apr 2007)

Compiz sollte laufen, wenn man es nicht übertreibt und eine gute Graka hat:

http://www.youtube.com/watch?v=h3Y6F1dSR8A


----------



## Wildcard (19. Apr 2007)

Ariol hat gesagt.:
			
		

> Compiz sollte laufen, wenn man es nicht übertreibt und eine gute Graka hat:


Wenn man auf *128MB* RAM was anderes als maximal FluxBox installiert ist das doch verückt  :autsch:


----------



## Ariol (19. Apr 2007)

jop, aber ich hab mir mal den leistungs-verbrauch von beryl angesehen:

Das verbraucht kaum etwas...weder viel ram, noch viel cpu, weil das meiste über die Graka läuft.

Und mit FluxBox sollte es doch auch laufen...


----------



## JPKI (19. Apr 2007)

gute Graka: Für so ne Mühle hört sich ATI Radeon Irgendwas hohes mit 128 MB doch Recht gut an, oder ;-) ?


----------



## Wildcard (19. Apr 2007)

Ariol hat gesagt.:
			
		

> Das verbraucht kaum etwas...weder viel ram, noch viel cpu, weil das meiste über die Graka läuft.


Richtig, das Teil ist schon extrem sparsam, aber bei 128MB geht's wirklich um jedes MB. Beryl selbst wird wohl sogar laufen, aber man will ja auch irgendwas auf seinem schönen neuen Desktop anzeigen.


----------



## Ariol (19. Apr 2007)

leider ist die Unterstützung von Radeon-Karten nicht sehr gut.

Wenn du ein Ubuntu benutzt (oder in deinem Fall besser Fluxbuntu http://fluxbuntu.org/ ) kann ich dir envy empfehlen.

Das installiert dir deinen Graka-Treiber automatisch.
Es sollte auch mit anderen Distros laufen.

Unter http://www.ubuntuusers.de gibt es auch gute wikis zu XGL und Graka-Installationen


----------



## Wildcard (19. Apr 2007)

Ist übrigens genau die richtige Zeit zum Umsteigen, ab heute ist Ubuntu 7.04 Feisty Fawn final und wartet mit dem neusten Kernel und einem Import Wizard für Windows und Linux Installationen auf.  :wink: 
Vorsicht, die Server sind zur Zeit völlig überlastet....


----------



## JPKI (19. Apr 2007)

Heut abend werd ich's mir wohl sowieso nicht mehr runterladen.
Eventuell morgen oder am Wochenende wenn ich Zeit hab.


----------



## Ariol (19. Apr 2007)

Wildcard hat gesagt.:
			
		

> Ist übrigens genau die richtige Zeit zum Umsteigen, ab heute ist Ubuntu 7.04 Feisty Fawn final und wartet mit dem neusten Kernel und einem Import Wizard für Windows und Linux Installationen auf.  :wink:
> Vorsicht, die Server sind zur Zeit völlig überlastet....



Jop, mein Kubuntu lädt seit ca. 2Std das Upgrade runter. Bei 70von200kbit/s...
Bin mal gespannt, ob das gut klappt.


----------



## JPKI (20. Apr 2007)

Oh leck... Ich lad mir grad Ubuntu 7.04 runter. Musste mich in den Foren nach einem alternativen Link zum Herunterladen erkundigen :roll: und bin dann auf so nem österreichischen Server gelandet. Von da zieh' ich's mir grad. Sind knapp 700 MB und dauert bis zu zwei Stunden :roll: .

Naja, ich hoffe, es lohnt sich!


----------



## Ariol (21. Apr 2007)

Mein Update hat mir ne viel versaut... Beryl läuft nicht, und die LAN-Verbindung zur FritzBox behindert die zum Router.. ;(

Naja, ich werd mir wohl die 7.04 so ziehen und dann mein System neu aufsetzen, ist ja noch nicht viel drauf


----------



## JPKI (22. Apr 2007)

Hab mir die 7.04 gezogen...
Hab die Live-CD angeschaut, als mein Suse 9.1 noch drauf war. Hat geklappt. Hätte es sofort von der Live-CD aus installieren können.
Doch ich hab erst mittels Windows-Wiederherstellungskonsole den MBR mit dem Windows-Bootmanager überschrieben und Linux komplett entfernt. Dann hab ich gemerkt, dass die Ubuntu Disk nur so schnell lief, weil sie temporäres Gedöns auf der Linux Swap-Partition gespeichert hat. Jetzt, wo diese weg is, geht's nicht mehr (PC zu langsam  , weil alles Temporäre im RAM gehalten werden muss!!). Ich werd mir jetzt wohl ne ältere Ubuntuversion ziehen :roll: .


----------



## Fatal Error (22. Apr 2007)

@wildcard:
mit tabben mein ich die neuen funktionen von beryl 0.2.0
falls du das hast öffne 2 oder mehr fenster.
gibt nacheinander jedem fenster den fokus und drück super + s.
dann hast du die fenster selektiert. mit super + g kannst du sie dann gruppieren. und mit super + t "tabben" ... dann siehst du nurnoch ein fenster und mit super + pfeiltase dreht sich dann dein fenster und das andere wird sichtbar.
keine ahnung wie ich das besser erklären soll Oo

das ganze heißt "Group and Tab Windows" und ist bei den Einstellungen bei Window Management zu finden.

hier ein video dazu: http://www.youtube.com/watch?v=J_DEQ2p24G0


----------



## moormaster (23. Apr 2007)

[cleared]


----------



## JPKI (4. Mai 2007)

Nur so zur Information: Ich hab mir jetzt Ubuntu 7.04 auf den alten Rechner gepackt, Beryl und alles weitere Wichtige installiert und muss sagen, ich bin *voll zufrieden*. Es läuft sehr stabil und schnell (besser als Windows) und Beryl und überhaupt das ganze 3D-Gedöns läuft sowas von ruckelfrei...
Einfach geil :wink: !


----------



## Wildcard (4. Mai 2007)

Sag ich doch  :wink: 
Willkommen im Club der zufriedenen Ubuntu User  :toll: 
Bald wirst du vermutlich dein Windows gar nicht mehr brauchen.


----------



## moormaster (4. Mai 2007)

Windows werd ich solange brauchen, wie Linux unfähig ist, meine Grafikkarte zu unterstützen... Wenn ich von so einer CD/DVD boote(n will), um es zu installieren, dann wird mein Bildschirm grundsätzlich schwarz an der Stelle, wo man auf anderen Rechnern im Textmode den Bootvorgang nachvollziehen kann...

Wenn Linux nichteinmal in der Lage ist, die Standardbiosroutinen zur Textausgabe zu verwenden, ist es für mich nutzlos... Es wird wohl noch eine ganze Weile so bleiben, dass ich Linux wenn überhaupt nur in VMWare boote, weil ich da die ganzen Treiberprobleme nicht hab, denen man sich mit dem großteil seiner PC Hardware gegenübergestellt sieht unter Linux.

Es existieren keine vernüntigen Treiberschnittstellen... Ein Treiber vom Hersteller funktioniert immer auf exakt einer speziellen Kernel Version. Sobald man den Kernel updated kann man sehen, wie man die Treiber vom Hersteller zum Laufen bekommt (sofern überhaupt Linux Support vom Hardwarehersteller für das Produkt existiert). Unter Windows sehe ich da einen weitaus besser organisierten Hardwaresupport... Wenn es darum geht, Hardware zu finden, die unter Windows läuft und unter Linux nicht, muss man gar nicht so lange suchen... und dabei handelt es sich meist um Standardhardware, wie sie es im Mediamarkt, Saturn und wie sie alle heissen zu kaufen gibt.

Ehrlich gesagt wundert es mich auch gar nicht, wieso Hardwarehersteller keinen Linux Support anbieten wollen. Linuxtreiber sind dank fehlender fest definierter Treiberschnittstellen nur brauchbar, wenn man sie zusammen mit dem jeweils eingesetzten Kernel compilieren kann; sprich wenn die Gerätehersteller ihre Treiber quelloffen anbieten, was wohl nicht im Interesse der meisten Hersteller ist.

Es kann nicht angehen, dass man mit jeder neuen Kernel Version (selbst wenn sich benötigten Header Dateien nur unwesentlich verändert haben) die alten Treibermodule wegwerfen muss, weil sie nicht mehr kompatibel sind.

Dass es funktionieren kann, sieht man an Windows... dort muss man nicht wegen jedem neuen Patch gleich alle Treiber neu kompilieren. Dort kann ein Hersteller seine Treiber einmal kompilieren und dieser Treiber wird über definierte Schnittstellen angesprochen, die nicht (kompatibilitätsverletzend) verändert werden und damit funktioniert ein solcher Treiber dann auch mit jedem Build, der die entsprechende Schnittstelle implementiert und muss nicht für jede Version einzeln kompiliert werden...

Den einzigen Ausweg, den ich da sehe, ist, dass ich mir eine quasi unveränderliche Schnittstelle schaffe, indem Linux nur den VMWare PC zu Gesicht bekommt und dieser meist problemlos unterstützt wird


----------



## Wildcard (4. Mai 2007)

moormaster hat gesagt.:
			
		

> sprich wenn die Gerätehersteller ihre Treiber quelloffen anbieten, was wohl nicht im Interesse der meisten Hersteller ist.


Und warum?
Ehrlich gesagt bin ich der Meinung das *gerade* Treiber, da sie im Kernel Mode laufen OpenSource sein sollten.
Sobald sich mehr Hersteller dem von Intel eingeschlagenen Weg anschließen und auch quelloffene Treiber anbieten wirst du unter Linux keinen einzigem Treiber mehr installieren müssen.
Das musste ich übrigens bis heute noch nicht.
Gib nicht den Linux Entwicklern die Schuld wenn es für ein Gerät keine Treiber gibt, sondern den Herstellern.
Kauf dir Hardware von der du weißt das sie unter Linux läuft.
Durch das Kaufverhalten wird letztlich entschieden ob die Hersteller umdenken müssen, oder alles beim alten bleibt.


----------



## JPKI (4. Mai 2007)

Eine Frage hätte ich noch: Ich hab mir jetzt die JRE 1.5 unter Ubuntu installiert (sudo apt-get install sun-java5... usw). Hat auch geklappt. Nur wenn ich versuche, ein Swing-Fenster darzustellen öffnet sich nur das Fenster und zeigt keine Komponenten an. Woran kann das liegen?


----------



## Wildcard (4. Mai 2007)

Das ist leider ein Problem das bei Swing im Zusammenspiel mit Beryl auftritt.
Beryl und Compiz haben sich wieder vereinigt, insofern ist zu hoffen das die erste gemeinsame Version das Problem behebt.
Bis dahin hilft dieser Fix:
http://ubuntuforums.org/showthread.php?p=2559600


----------



## JPKI (4. Mai 2007)

Gut. Leider bin ich noch nicht so fix in Ubuntu. Was meint der eine da mit


> Put
> 
> ```
> export AWT_TOOLKIT=MToolkit
> ...


----------



## Wildcard (4. Mai 2007)

Du musst diese Zeile in deine ~/.bashrc einfügen.
Danach am besten neu starten.


----------



## JPKI (4. Mai 2007)

Hab ich. Jetzt funktioniert es! Toll. Danke.


----------

