- Steineklopfer.net - https://steineklopfer.net -

Arch Linux Installation

Überlegungen

Nunja, es gibt wohl einige die sich mal die Frage stellen ob sie Linux als Betriebsystem auf ihrem Computer mal ausprobieren wollen. Windows ist ja gut und schön. Wer PC Spiele mag, wird auch selten drum herum kommen. Mir persönlich geht Win 10 aber langsam zu sehr in Richtung Mac. Es wird einem einfach untersagt gewisse Dinge zu machen. weil sie das System destabilisieren könnten. Oder weil der Hersteller es eben so besser findet. Außerdem nehmen ja auch die Daten die gesammelt werden immer mehr zu. Vielleicht sagt einem auch einfach nur die Philisophie mit Open Source dahinter zu. Jeder hat wohl seine eigenen Gründe warum man vor dieser Frage steht.

Hier soll es auch mehr um die eigentliche Installation gehen. Ich habe mich jetzt für Arch Linux entschieden, weil ich schon eine ganze Weile Manjaro ausprobiert habe, welches darauf basiert. Im Prinzip sind beides “Rolling Distros”, heißt so viel wie es gibt keine Releases mehr, sondern der Kernel wird ständig aktuell gehalten. Bei Manjaro ist das noch nicht ganz so, weil man selbst über deren eigenen Kernelmanager aktualisieren muss. Das sollte man aber auch tun, denn der Support wird für die alten Kernel dann auch zeitnah eingestellt. Außnahme sind die LTS Kernel, diese werden länger gepflegt. Bei Arch gibt es auch nur genau diese beiden Kernel in den Repositories. Entweder man nimmt den aktuellen, oder den LTS oder eben auch beide. Natürlich kann man sich auch jederzeit selbst einen Kernel kompillieren. Ich persönlich mag den LTS Kernel lieber, da ich dann doch noch einige Programme habe die nur unter Windows laufen und ich dafür dann die Virtual Box benutze. Diese hat Module die im Kernel laufen und wenn es dafür dann nicht so schnell ein Update gibt, läuft die Box erstmal nicht mehr.

Warum also dieses Mal Arch und nicht wieder Manjaro? Einfach um die installation mal selbst durchzukauen und vielleicht etwas mehr Einblick in das Grundsystem zu bekommen. Außerdem installiert man hier dann wie gesagt einmal den linux-lts Kernel. Dieser wird dann auch automatisch auf den nächsten lts Kernel aktualisiert und man muss es nicht selbst über den Kernelmanager machen. Ob das nun gut oder schlecht ist wird sich wohl noch zeigen. Wahrscheinlich wollte ich mir einfach selbst mal auf die Schulter klopfen.

Hinweise

Wer das jetzt aber auch machen will, dem sei gesagt, dass es so ganz ohne Kenntnisse von Linux wohl doch eher schwer wird. Dann würde ich doch eher Manjaro [1] als Einstieg empfehlen. Diese Distro hat so ziemlich alle Vorteile von Arch, nur dass sie eben eine grafische Installation mitliefert und auch diverse Konfigurationen automatisch vornimmt. Man bekommt auch eine Nachricht wenn man den Kernel updaten sollte und das ist dann auch mit ein paar Klicks erledigt. Arch liefert für die Installation nur ein Grundgerüst mit Konsole und man muss alles selbst installieren und teilweise auch konfigurieren.

Man findet das Image für die Installation einfach bei archlinux.org [2]. Dort ist auch gleich der offizielle Guide [3] für die Installation verlinkt. Diesen sollte man parallel vielleicht auch durchlesen, da ich nicht alle Schritte abhandeln werde. Ich bin mir z.B. sicher, dass ich im UEFI Modus boote, weil ich es vorher so eingestellt habe. Das brauche ich dann nicht extra überprüfen. Zusätzlich fand ich diese Anleitung [4] auch sehr hilfreich. Im Arch Wiki selbst findet man fast zu jedem Problem eine Beschreibung/Lösung.
Um den USB Stick unter Windows zu erstellen gibt es ein nettes kleines Programm names Rufus [5]. Dort wählt man einfach die Iso Datei und den Stick aus und alles andere wird vom Programm erledigt.

Folgendes wäre noch zu erwähnen:

Installation – Grundsystem

Hat man das alles geschafft, geht es mit der Installation los. Als erstes müssen wir das Tastaturlayout auf Deutsch umstellen. Der – ist beim US Layout auf dem ß.

loadkeys de-latin1

mit timedatectl set-ntp true kann man die Zeit aus dem Internet aktualisieren.

Dann geht es auch schon ans Partitionieren und Formatieren. Da bei mir ja schon partinioniert ist, spare ich mir das. Mit fdisk -l kann man sich die Tabelle nochmal anschauen und bekommt auch die /dev/xxx Einträge angezeigt. Bei mir handelt es sich um eine neue M2 SSD, deswegen ist sie unter /dev/nvme0n1 zu finden mit den Partitionen dann als p1 bis p4. SATA Geräte dürften eher unter /dev/sda o.Ä. zu finden sein.

Wer noch partitionieren muss kann das mit fdisk [6] recht einfach tun. fdisk /dev/nvme0n1 startet das Programm. Mit n erstellt man eine neue Partition die dann p für primär ist. Danach kann man z.B. mit +400GB eine Partition erstellen die dann 400GB groß wird. Die Sektoren werden im Normalfall schon richtig ausgewählt. Falls noch alte Partitionen vorhanden sind kann man vorher mit g eine neue Partitionstabelle (GPT) erstellen. Alles was auf der Platte war wird damit aber gelöscht.

Nun fehlt noch das Formatieren. P1, die EFI Partition und P2 von Windows bleiben wie sie sind.

mkfs.ext4 /dev/nvme0n1p4
mkswap /dev/nvme0n1p3

Damit ist jetzt alles formatiert. Die Partitionen müsses noch gemounted werden damit die Installation beginnen kann. P1 muss mit meinem Bootmanager wie gesagt /boot werden.

swapon /dev/nvme0n1p3
mount /dev/nvme0n1p4 /mnt
mkdir /mnt/boot
mount /dev/nvme0n1p1 /mnt/boot

Die Downloadserver könnte man jetzt noch anpassen. Mir ist das erstmal egal und ich installiere es mit den Standardservern.

pacstrap /mnt base

Nachdem die Pakete alle installiert wurden, wurde das Basissystem installiert. Allerdings kann man jetzt noch nicht neu starten, da noch ein paar Konfigurationen fehlen. Zum einen die permanenten Mount Einträge. Ohne diese weiß das System nacher nicht mehr wo alles liegt.

genfstab -U /mnt >> /mnt/etc/fstab

Diese Datei sollte man dann auch mit einem Texteditor prüfen. Z.b. nano /mnt/evt/fstab
Es sollten drei Einträge vorhanden sein. Einer für / , für /boot und für die swap partition. Mit Strg+x kommt man wieder raus.

Jetzt können wir in das neu installierte System wechseln.
arch-chroot /mnt

Als nächstes kommen ein paar Basiseinstellungen. Zum einen die Zeitzone, Sprache, etc. Die entsprechende Spracheinstellung muss man in der Datei /etc/locale.gen aktivieren und dann generieren.
Ich persönlich mag es lieber wenn das System auf Englisch bleibt. Deswegen aktiviere ich den Eintrag
en_GB.UTF-8 UTF-8 durch löschen des Kommentarsymbols davor.
Danach speichern und mit locale-gen generieren.

nano /etc/locale.gen
locale-gen


Jetzt kann kann die Sprache gespeichert werden.
echo LANG=en_GB.UTF-8 > /etc/locale.conf 

Außerdem wollen wir das Tastaturlayout speichern.
echo KEYMAP=de-latin1 > /etc/vconsole.conf

Um die richtige Zeitzone zu nutzen müssen wir noch einen Link generieren
ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime
hwclock –systohc

Nun fehlen noch ein paar Netzwerkeinstellungen. Dazu geben wir dem Computer einen Namen
echo steineklopfer > /etc/hostname

und editieren die Datei /etc/hosts
nano /etc/hosts

Diese sollte folgende Einträge enthalten

127.0.0.1 localhost 
::1 localhost
127.0.1.1 steineklopfer.localdomain steineklopfer

Nun fehlt noch der Netzwerkadapter selbst.
ip link

zeigt uns die verfügbaren Geräte. Ich habe nur einen Kabelanschluss, deswegen habe ich nur zwei Geräte in der Liste. Leute mit WLAN Modulen mögen noch mehr haben. Das erste ist aber meistens der Loopback Adapter und uninteressant. Der zweite heißt bei mir enp7s3, Mit dieser ID muss ich also die Konfiguartions Datei benennen und erstmal als DHCP konfigurieren [7].
nano /etc/systemd/network/enp7s3.network

[Match] 
Name=en* 
[Network] 
DHCP=yes

Außerdem brauchen wir noch DNS Server um URLs auflösen zu können. Dafür verwende ich erstmal die beiden Google Server
nano /etc/resolv.conf

nameserver 8.8.8.8 
nameserver 8.8.4.4

Aktivieren könen wir das Ganze erst nach einem Neustart. Mit passwd erstellen wir aber erst noch ein Passwort für den root Benutzer. Die normalen Benutzer werden später erstellt.

Befor wir aber neu starten können fehlt noch der Bootmanager. Ich nehme dafür den systemd-boot der schon installiert ist.
bootctl –path=/boot install

Ich persönlich habe mir keinen Pacman Hook eingerichtet zum automatischen Updaten. Wer das will, kann es hier [8] nachlesen. Jetzt sollte der Bootmanager installiert sein und vom UEFI auch gestartet werden. Checken und ändern kann man das indem man das Programm efibootmgr noch installiert.
pacman -S efibootmgr

Damit unser Linux aber auch in der Auswahl auftaucht, müssen wir noch ein paar Einstellungen vornehmen. Außerdem habe ich ja am Anfang erwähnt, dass ich lieber mit dem LTS Kernel arbeite. Der ist auch noch nicht installiert.
pacman -S linux-lts

Zum einen brauchen wir die Datei /boot/loader/loader.conf mit diesem Inhalt

default  arch
timeout 4
console-mode max
editor no
auto-entries 0 (da ich keine automatischen Einträge möchte)

Zum anderen müssen wir noch einen Eintrag im Bootmenü erzeugen. Für unser Linux wäre das arch.conf im /boot/loader/entries/ Verzeichnis. Wir haben als Standard Auswahl ja auch schon “arch” in der config oben eingetragen. Für den Eintrag brauchen wir noch die ID der Partition auf der sich Arch Linux befindet.

blkid -s PARTUUID -o value /dev/nvme0n1p4
Die ID muss dann anstelle von [ID] in die conf Datei unten eingetragen werden.

title   Arch Linux LTS
linux /vmlinuz-linux-lts
(initrd /intel-ucode.img) nur wenn es ein solches Microcode Image gibt. Bei meinem AMD nicht.
initrd /initramfs-linux-lts.img
options root=PARTUUID=[ID] rw

Das Gleiche kann man dann auch für Windows oder einen zweiten Linux Kernel oder das Fallback Image machen. Jeder Eintrag bekommt seine eigene *.conf Datei. Einfacher ist es für Windows natürlich in der ersten Datei den “auto-entries 0” Eintrag zu löschen oder auf 1 zu setzen.

Jetzt können wir neu starten (shutdown -r now) und sollten im Bootmanager einen Eintrag für “Arch Linux LTS” sehen der auch als Standard ausgewählt ist.

Nachdem wir uns wieder als root Benutzer mit dem Passwort von vorhin angemeldet haben können wir gleich überprüfen ob die Internetverbindung funktioniert (Strg+C unterbricht den Befehl wieder).
ping archlinux.org

Falls nur time-outs kommen, müssen wir die Verbindung noch aktivieren.
systemctl start systemd-networkd
systemctl enable systemd-networkd

Tjaaa. Damit wäre dann die Grundinstallation abgeschlossen. Jetzt kann man mit pacman alle möglichen Pakete installieren die man braucht. Unter anderem eben auch die Grafische Oberfläche, Grafikkartentreiber und natürlich auch ein Benutzer der nicht root ist. Es ist nicht sonderlich ratsam das System als root zu benutzen.

Installation – Grafische Oberfläche

Dafür muss man sich natürlich erstmal entscheiden welche der vielen Linux Oberflächen man nutzen möchte. KDE, Gnome, Cinnamon, Deepin, Xfce, … [9] um nur ein paar zu nennen. Ich persönlich habe mich für die neue KDE Oberfläche Plasma entschieden. Diese läuft im Moment noch mit X11. Wahrscheinlich irgendwann dann auch mit Wayland, im Moment kommt man aber um die Xorg Sachen [10] noch nicht drumrum. Da bei mir auch eine recht neue Nvidia Grafikkarte im System werkelt, eine 1070, entschließe ich mich unter anderem die closed source Nvidia Treiber zu verwenden. Nicht zuletzt, weil in einem Livesystem vom Stick die Oberfläche doch deutlich geflimmert hat mit den open source Treibern. Da der ganze Xorg Kram schon als Abhängigkeit beim nvidia Paket dabei ist, brauche ich das nicht extra installieren. Ansonsten natürlich schon. Wichtig ist noch, da ich die LTS Kernel verwende, brauche ich auch das nvidia-lts Paket. Außerdem fragt das Paket welche OpenGL Bibliothek ?? verwendet werden soll? Dabei hat bei mir nur der Standard (libgl…) funktioniert und ist wohl auch richtig. Antwort zwei wäre ein veraltetes nvidia-utils Paket. Damit schlägt die Installation sowieso fehl, da das alte dann dem neuen im Weg ist.

pacman -S nvidia-lts

Hier gibt es viele Möglichkeiten. Entweder man konfiguriert den X11 Kram selbst [11]. Dafür müssen dann am Besten in der Datei /etc/X11/xorg.conf.d/20-nvidia.conf die richtigen Einträge stehen. Oder man überlässt es dem Nvidia-config-tool.

nvidia-xconfig

Dieses erstellt allerdings die Datei /etc/X11/xorg.conf und sollte auch gecheckt werden ob die Einträge plausibel sind. Da bei mir alles fürchterlich klein war, aber ich manuell noch folgende Einträge unter DEVICE hinzugefügt

Option “UseEdidDpi” “FALSE”
Option “DPI” “96 x 96”


Danach können wir testen ob die X11 Oberfläche läuft oder nicht indem wir einfach “Xorg” starten. Sollte es schief gehen wird zeigen das die Meldungen auf dem Bildschirm. Wenn der Bildschirm schwarz bleibt heiß es bei mir, dass es geklappt hat. Allerdings konnte ich nur mit Strg+Alt+F2 die Konsole wechseln und von dort weiter machen oder eben neu starten.

Also nächste können wir schon KDE Plasma [12] installieren. Dieses liefert den Display Manager SDDM [13] schon mit. Ansonsten müssten wir natürlich auch noch einen installieren.

pacman -S plasma

Damit der Display Manager auch beim starten läd, muss er noch aktiviert werden.

systemctl enable sddm.service

Um sich aber überhaupt einloggen zu können brauchen wir auch noch einen Nutzer mit eigenem home Verzeichnis. Dafür legen wir uns unseren eigenen Benutzer an.

useradd -m -G sys,wheel jens
passwd jens

Damit gehört der Nutzer “jens” zusätzlich zu den Gruppen sys und wheel. Wheel ist nützlich um das sudo Kommando benutzen zu können. Außerdem haben wir das Passwort gleich festgelegt.

Um das “sudo” Kommando [14] wirklich auch nutzen zu können müssen wir es aber noch installieren.

pacman -S sudo

Danach müssen wir die “wheel” Gruppe aber noch dafür freischalten. Dafür editieren wir die Datei /etc/sudoers. Etwas weiter unten ist der Eintrag für die wheel-Gruppe auskommentiert. Wir müssen das Kommentarzeichen löschen und die Datei wieder speichern.

sudo -lU jens

Checkt ob Nutzer jens dann auch sudo benutzen darf.
Jetzt können wir das System noch kurz updaten bevor wir es neu starten.

pacman -Syu

Zusätzlich müssen wir noch einmal das Layout der Tastatur setzten, bisher haben wir das nur für die Console gemacht. Ansonsten haben wir in der Oberfläche wieder die US Tastatur.

localectl set-x11-keymap de pc105 nodeadkeys compose:rwin

mit localectl status kann man checken was dann dort steht.

Danach sollten wir uns nach einem Neustart automatisch auf der SDDM Oberfläche für den Login wiederfinden. Und können uns da als jens mit dem Passwort auf den KDE Plasma Desktop einloggen. Damit lassen sich dann auch eine ganze Menge Einstellungen über die Oberfläche erledigen. Z.B. kann man auch hier wieder das Tastaturlayout einstellen.

Interessant wäre dann sicher noch einen sogenannten AUR-Helper [15] zu installieren. Da es doch einige nette Pakete von Benutzen gibt die nicht in den offiziellen Repos sind. Nutzung allerdings auf eigene Gefahr. Lesenswert wären sicher diese beiden Artikel aus dem Arch Wiki. Zusätzliche Hinweise [16] und empfohlene Programme [17]. Alles was man so für eine Bedürfnisse braucht muss man natürlich jetzt noch installieren. Bisher war das nur das Basissystem + Oberläche, bei der schon ein paar wenige Tools dabei sind.

Wer einen AUR Helper benutzten will muss sich im klaren sein, dass diese Pakete nicht von pacman direkt geupdated werden. Man muss diese dann auch mit dem Helper updaten. Im Prinzip macht ein AUR Helper nichts anderes wie was wir jetzt manuell machen müssen um überhaupt einen zu installieren. Nur macht er es eben schneller und hat ein besseres Gedächtnis. Ich habe mich hier für Pikaur entschieden. Wahrscheinlich weil es in Python geschrieben ist und ich das zumindest schon Mal selbst benutzt habe. Yaourt wird zwar noch überall erwähnt und war früher wohl das erste solche Tool. Es ist aber schon in die Jahre gekommen und kann vieles nicht. Außerdem wird es nicht mehr gewartet, deswegen würde ich dieses eher nicht benutzen.

In der Konsole bin ich jetzt nicht mehr als root sondern als jens in meinem Verzeichnis /home/jens. Als erstes müssen wir ein paar Pakete installieren.

sudo pacman -S base-devel git wget

mit den nötigen Abhängigkeiten natürlich. Danach geht es auch schon los.

mkdir temp
cd temp
git clone https://aur.archlinux.org/pikaur.git
cd pikaur
makepkg -si


Damit wäre pikaur installiert und kann wie pacman benutzt werden aber durchsucht eben zusätzlich auch die Nutzer Repos (das AUR). [18]

Vielleicht noch ein Wort zu Deinstallationen. Das wird alles mit Pacman erledigt.

sudo pacman -R xxx

statt xxx muss dann natürlich der Paketname stehen. Das deinstalliert jenes Paket. Mit -Rs kann man alle, nicht von anderen Paketen benötigten, Abhänigkeiten mit deinstallieren. -Rns löscht zusätzlich noch die Konfigurationen die nicht im /home/jens/ Verzeichnis liegen. Und letztendlich deinstalliert -Rnss auch alle Pakete die bei der Installation installiert wurden, auch wenn sie von anderen Paketen gebraucht werden. Dadurch funktionieren dann aber diese Programme wahrscheinlich nicht mehr richtig.

Neuigkeiten aus Afrika + Maptek Vulcan

Posted By Jens On In Computer,Deutsch,Weltenbummel | 2 Comments

Neuigkeiten aus Afrika

Ich bin ja nun seit einer Woche wieder in Liberia. Eigentlich hat sich hier kaum was verändert. Hier und da hab ich in der Stadt eine neue Fassade gesehen. Die Straßen sind schlechter geworden. Die Regenzeit neigt sich dem Ende, es wird wärmer und der blaue Himmel zeigt sich öfters. Es gibt nun eine Ampel in der Stadt. Keine Ahnung aus welchem Hilfsprojekt die finanziert wurde. Mir kommt sie ziemlich sinnlos vor solange sich nicht etwas grundlegend im Verkehr ändert. Strommasten für ein Stromnetz in der Stadt werden auch gebaut. Eigentlich ziemlich witzlos, da es kein Kraftwerk gibt. Im Kraftwerk stehen dann auch wieder nur Dieselgeneratoren. Bis das neue Wasserkraftwerk an der alten Stelle entstehen soll wird es wohl noch mindesten 10 Jahre dauern. Außerdem wird es wohl kaum genug Strom für die ganze Stadt liefern.

Nervige Praktiken

Das Problem ist eben wie so oft, dass die Leute hier mehr an sich selbst denken wie an den allgemeinen Nutzen. Schön, das ist in anderen Ländern wohl auch so. Ich kann das auch schlecht beurteilen, aber ich denke mal in Deutschland war nach dem Krieg wenigstens der Antrieb da alles wieder aufzubauen. Hier spüre ich davon sehr wenig. Vielleicht wird auch viel von der Bestechungspolitik die ja vor allem den Amis und Chinesen so gefällt kaputt gemacht. Wenn man zum Zoll am Flughafen kommt um ein paar Bohrkernsägen zu holen, dann läuft man in ein riesiges Büro  mit fünf Schreibtischen. Die fünf Leute dahinter schlafen alle. Man kann sich dann denjenigen aussuchen der am professionellsten schläft. Die Zollberechnung wird dann per Hand auf einer schief ausgedruckten Tabelle ausgeführt und drei Mal ausradiert. Am Flughafen fällt auch am extremsten auf, dass die Leute dort schon erwarten, dass sie Bestechungsgeld bekommen. Wenn man sich weigert immer small small extra zu zahlen, dann beschweren sich die Leute lauthals bei den Kollegen, dass der weiße Mann hier kein small small bezahlt. Hier ist ganz offenkundig, dass sie es schon gewohnt sind. Aus Gesprächen weiß ich auch, dass v.a. Amis schon immer extra Rechnungen für Bestechungsgeld anfertigen, damit ihre Abrechnung passt. Klar wenn mache dann eben immer gleich von vorn herein zahlen, dann sind die Leute hier auch schnell “verdorben”. Zumindest was dieses Thema angeht. Die Summen sind auch nicht mehr small small zu nennen. Am Flughafen wird unter 10$ pro Person nicht mehr beim Aufladen von Paketen geholfen. Wenn die das ein paar Mal am Tag machen haben sie so viel extra verdient wie man hier für einen Tag schuften im Paketzentrum bekommt, obwohl sie vielleicht insgesamt eine halbe Stunde gearbeitet haben. In der Post läuft es ähnlich ab. Ohne small small sagen einem die Leute ins Gesicht, dass man hier nicht mehr erwünscht ist. Sie wollen nur “american men”. Ich glaub die “american men” kapieren nicht, dass es für sie selbst vielleicht alles viel einfacher macht, weil die Leute freundlich sind und einen zuvorkommend behandeln. Für alle anderen macht es aber alles viel schwerer, weil die Grundeinstellung verändert wird. Naja sie denken halt auch nur an sich und wie sie alles am schnellsten hinbekommen. So wollen halt die Leute auch hauptsächlich da arbeiten wo viel small small zu erwarten ist. Die anderen Jobs sind unbeliebt.

Gewitter

Gestern hatten wir einen tolles Gewitter. Blitze überall am Himmel und sehr häufig. Ich hatte meine Kamera leider nicht dabei. Wir waren nämlich etwas außerhalb der Stadt bei einer Abschiedsfeier eingeladen. Scheinbar werden die Gewitter zum Ende der Regenzeit dann häufiger. Ist schon das dritte oder vierte Gewitter diese Woche. Dieses war aber das heftigste.

Maptek Vulcan

Den restlichen Tag gestern habe ich mit Maptek Vulcan verbracht. Nachdem wir dann endlich die Lizenz und den Dongle bekommen haben ist es auch problemlos gestartet. Eines kann ich aber schon sagen. Nach einem Tag rumspielen bin ich doch enttäuscht. Für ein Programm was so viel kostet hätte ich um einiges mehr erwartet. Erstens stürzt es doch recht häufig einfach ab mit einer bekloppten Fehlermeldung. Die wird dann zwar schön verpackt irgendwo gespeichert und man kann sie sich anschauen. Es wird aber nicht klar was jetzt der Fehler war. Das passiert auch schon bei den einfachsten Operationen wie Bohrlöcher als Scheiben plotten. Andere nichtssagenden Fehlermeldungen sind dann Punktpuffer voll. Poff weg. Als ob das nicht möglich wäre die Fehlermeldung auszugeben und das Programm aber vor dem Abstutz zu bewahren. Für 25000$ erwarte ich sowas. Jedes Mal wieder alles neu laden. Mit glücklichen Treffern per Internetsuche dann den dynamischen Speicher verändern und die Triangulation klappt endlich. Bohrkerne dazuladen. Poff weg. Nächstes Mal Bohrkerne zuerst laden und dann die Triangulation funktioniert dann komischerweise -.- Allgemein ist die Programmhilfe schlecht. Es gibt kaum Hilfeseiten im Internet. Keine Bücher, nichts. Mir kommt es so vor als wären die Kosten für das Programm für die Firma noch nicht genug Abzocke. Sie wollen noch an den sauteuren Kursen zusätzlich abzocken. Alles in Allem ja nett und wohl auch mächtig aber in Support eine 5-6. Programmierung auch stellenweise schlampig ohne gute Fehlerabfänge. Immerhin sind die Leute per eMail freundlich und hilfsbereit. Sehr fraglich ob sie das aber auch auf Dauer sind. Vielleicht auch eher nur wenn es um den Verkauf von Kursen und dem Programm geht. Ohne wirklich Hilfe hab ich es nach einem Tag aber immerhin hinbekommen unsere Bohrlochdatenbank mit Au Werten und der Topooberfläche darzustellen. Mal sehen wie sich das in den nächsten Wochen dann entwickelt. Immerhin sieht die Datenbank nicht so altmodisch aus wie in Target. Gut von Target habe ich halt auch nur eine ziemlich alte Version als Vergleich… Erster Eindruck von Vulcan ist auf jeden Fall eher gemischt.

[19]
Maptek Vulcan

Scrolling Panorama

Posted By Jens On In Computer,Deutsch,English | 4 Comments

Irgendwie hab ich mich entschlossen nun ein kleines Tutorial zu schreiben wie man die mit Flash ein Panorama erstellen kann welches nicht das gesamte Bild auf einmal anzeigt, sondern man einen kleineren Ausschnitt definieren kann und je nachdem wie man mit der Maus über den Ausschnitt fährt scrollt das Panorama in diese Richtung oder eben zurück. Das Script funktioniert in x und y Richtung. Am Ende des Panorama hört das Bild auf zu scrollen. In welche Richtung gescrollt werden kann hängt von den Dimensionen des Ausschnitts im Vergleich zum Bild ab. In der Mitte des Bildes und am Rand kann eine tote Zone definiert werden in der nicht gescrollt wird. Nun aber eine kleine Anleitung dazu. Das Panoramabild muss natürlich schon vorhanden sein. Am Besten als jpg oder ähnliche Bilddatei. Außerdem wird Adobe Flash CS benötigt. Ich habe CS4 benutzt aber ich denke es geht auch schon mit früheren Versionen oder auch neueren. Zuerst erstellen wir ein neues Dokument (Bild 1 [20]). Danach kann man über die Eigenschaften die größe des Ausschnitts einstellen. Als nächstes Müssen wir das das Panorama in das Flashprojekt importieren. Dafür gehen wir auf “Datei -> In Bühne importieren” oder Strg+R (Bild 2 [21]). Das gerade importiere Bild muss dann in ein Symbol/Film umgewandelt werden. Wahrscheinlich ist das Bild noch ausgewählt wenn nichts anderes angeklickt wurde. Dann kann man einfach auf “Modifizieren -> In Symbol umwandeln” gehen oder F8 drücken (Bild 3 [22]). Im nächsten Dialogfeld ist wichtig, dass “Film” als Typ ausgewählt ist und die rechte obere Ecke bei Registrierung markiert ist (Bild 4 [23]). In den Eigenschaften des gerade umgewandelten Filmes muss man auf jeden Fall noch den Namen “nav1” vergeben (Bild 5 [24]), sonst weiß das Script nichts mit dem Panorama anzufangen. Als nächstes legen wir eine neue Ebene an (linkes, unteres Symbol in der Zeitleiste – Bild 6 [25]). Über einen Rechtsklick auf den 2. Layer kommt man über “Actions” (Bild 7 [26]) in ein neues Fenster welches das Script aufnimmt (Bild 8 [27]). Sobald das Script dort eingefügt wurde kann man über Strg + Enter einen Probelauf starten. Falls alles funktioniert kann man den Film dann als .swf Datei speichern und auf einer Webseite einbinden. Die Idee für das Skript bekam ich von dieser Seite [28]. Allerdings habe ich noch einiges abgeändert.

Das Script unten ist auch als PDF [29] und als TXT [30] als download verfügbar. Die txt Datei kann in eine as Datei umbenannt werden und auch einfach in Flash importiert werden. Beispiele solcher Panoramas findet ihr z.B. hier: Landschaft in Nunavik, Kanada [31].

ÄNDERUNG: Skript, Linie 9: -1000; -> 0;  Damit sollte das Bild in der linken, oberen Ecke starten anstatt irgendwo weiter unten oder gar außerhalb des Bildes.

» » » » » » » » » » » » « « « « « « « « « « « «
Somehow I decided to write a small tutorial about the panorama pictures using Flash. The advantage of this approach is that not the whole pictures displays right away. You can define a smaller window with which you can scroll through the whole picture. That means on websites they are easier to present. At least that is my opinion. In general, depending on where the mouse curser is in the window the picture scrolls in that specific direction. You can also define dead zones at the margin and the center where it doesn’t scroll at all. If it scrolls in both directions or just in one depends on the size of the picture in relation to the size of the defined window. To create them you of course need the panorama picture itself and a version of Adobe Flash which supports Action Script I guess. Personally I used CS4 but it should work with any newer version and probably also with the older versions because the script is not very complicated. Once you opened Flash you should create a new Action Script document. I always used Action Script version 3.0 (Picture 1 [20]). Once that is done you can set the size of the window or stage like it is called in Flash in the properties of the document. Next would be to import the panorama picture by using “File -> Import to stage” or Ctrl+R (Picture 2 [21]). Probably the imported picture is still selected and we can convert it to a Symbol by using “Modify -> Convert to symbol” or F8 (Picture 3 [22]) straight away. Otherwise you have to select the picture first. In the next dialog be sure that Type: Movie is selected and the upper left corner for Registration is marked (Picture 4 [23]). In the properties of the just created movie we have to name it “nav1” (Picture 5 [24]) otherwise the script will not know which picture it should move around. After that all we have to do is create a new layer (lower left symbol in the timeline window – Picture 6 [25]). Rightclick on that new layer2 and select “Actions” from the popup menu (Picture 7 [26]). This will open the Action Script editor (Picture 8 [27]). In that you can just paste the script below or import the .as file. After that press Ctrl+Enter to test your new scrolling panorama. If you are satisfied export it to a .swf movie and you are ready to embed it into your website. I got the idea for this script from this website [28]. However I modified it quite a bit afterwards.

The script is also available as PDF [29] and as TXT [30] for download. The txt file can be renamed to an as file which can easily be imported into the Action Script editor. Examples of flash panoramas that can be done with that script can be found in this post: Scenery in Nunavik, Canada [31].

CHANGE: Script line 9: -1000; -> 0; That way it should start in the top left corner instead of somewhere down the picture if not out of the picture.


// get some initial variables from the stage.
// The picture used for the pano scroll has to be a movie and named nav 1
var movieWidth:Number = stage.stageWidth;
var movieHeight:Number = stage.stageHeight;
var panoWidth:Number = nav1.width;
var panoHeight:Number = nav1.height;
// set of initial position
nav1.x = 0;
nav1.y = 0;
addEventListener(“enterFrame”,frame_handler);
function frame_handler(e:Event) {
// get mouse position
var mousex:Number = mouseX;
var mousey:Number = mouseY;
// center of movie
var xspeed:Number = movieWidth/2;
var yspeed:Number = movieHeight/2;
// sets movement speed ( greater number, slower movement)
var c:Number = 75;
// sets the dead center where nothing moves
var center:Number = 50;
// sets the dead rim where nothing moves
var rim:Number = 20;
// scrollspeed calculation
var posx:Number = 0 – ((mousex – xspeed)/c);
var posy:Number = 0 – ((mousey – yspeed)/c);
// if the mouse is in the rim do nothing, only continue if it is inside
if ( mousex > rim && mousex < movieWidth – rim && mousey > rim && mousey < movieHeight – rim ) { // movement in x direction if it is not in the center if ( ( mousex > xspeed + center ) || ( mousex < xspeed – center ) ) {
// only move it to the end of the pano. Don’t scroll further
if ( nav1.x = (movieWidth – panoWidth)) {
nav1.x += posx;
// don’t know if it is necessary. Just to be save. If the movement was to far set it back
if ( nav1.x > 0 ) {
nav1.x = 0;
} else if ( nav1.x < (movieWidth – panoWidth) ) { nav1.x = movieWidth – panoWidth; } } } // movement in y direction if it is not in the center if ( ( mousey > yspeed + center ) || ( mousey < yspeed – center ) ) {
// only move it to the end of the pano. Don’t scroll further
if ( nav1.y = (movieHeight – panoHeight)) {
nav1.y += posy;
// don’t know if it is necessary. Just to be save. If the movement was to far set it back
if ( nav1.y > 0 ) {
nav1.y = 0;
} else if ( nav1.y < (movieHeight – panoHeight) ) {
nav1.y = movieHeight – panoHeight;
}
}
}
}
}