So installieren Sie Scratch 2 unter Ubuntu 16.10. oder 17,04 (64bit)?

15

Ich muss Adobe Air unter Ubuntu 16.10 / 17.04 mit Offline-Scratch 2 installieren. Air wird unter Linux seit vielen Jahren nicht mehr unterstützt, daher gibt es mehrere Problemumgehungen. Eine, die für mich bis Ubuntu 16.04 funktionierte (mit dem Air Binary Installer):

# install i386 necessary libraries
$ sudo apt-get install libgtk2.0-0:i386 libstdc++6:i386 libxml2:i386 libxslt1.1:i386 libcanberra-gtk-module:i386 gtk2-engines-murrine:i386 libqt4-qt3support:i386 libgnome-keyring0:i386 libnss-mdns:i386 libnss3:i386
# install keyring
$ sudo apt-get install libgnome-keyring0:i386
# make keyring visible for Air
$ sudo ln -s /usr/lib/x86_64-linux-gnu/libgnome-keyring.so.0 /usr/lib/libgnome-keyring.so.0
$ sudo ln -s /usr/lib/x86_64-linux-gnu/libgnome-keyring.so.0.2.0 /usr/lib/libgnome-keyring.so.0.2.0 
# download Adobe Air installer
$ wget  http://airdownload.adobe.com/air/lin/download/2.6/AdobeAIRInstaller.bin
# run it
$ sudo chmod +x AdobeAIRInstaller.bin
$ sudo ./AdobeAIRInstaller.bin

aber am 16.10 / 17.4 endet es mit installator error:

Adobe AIR konnte nicht installiert werden. Debian-Tools zum Erstellen von Deb-Paketen (wie dpkg-deb oder ar) wurden auf dem System nicht gefunden.

Was offensichtlich eine falsche Fehlermeldung ist dpkg-debund arbeide installiert sind:

$ dpkg-deb --version
Debian 'dpkg-deb' package management program version 1.18.10 (amd64).
$ ar --version
GNU ar (GNU Binutils for Ubuntu) 2.28

Die Adobe Air-Installationsprotokolldatei von /root/.appdata/Adobe/AIR/Logs/Install.log

[setup:2506][INFO] Runtime Installer begin with version 2.6.0.19170 on Linux x86
[setup:2506][INFO] Commandline is: 
[setup:2506][INFO] No installed runtime detected
[setup:2506][INFO] Relaunching with elevation
[setup:2506][INFO] Launching subprocess with commandline /tmp/air.hp19kU/setup -ei
[setup:2525][INFO] Runtime Installer begin with version 2.6.0.19170 on Linux x86
[setup:2525][INFO] Commandline is: -stdio /tmp/air.KWo9tt/channel -ei
[setup:2525][INFO] No installed runtime detected
[setup:2525][INFO] Starting silent runtime install. Installing runtime version 2.6.0.19170
[setup:2525][INFO] Session detected: GNOME
[setup:2525][ERR] Error occurred during rpm create operation; beginning rollback: [ErrorEvent type="error" bubbles=false cancelable=false eventPhase=2 text="dpkg-query: package 'adobe-certs' is not installed and no information is available;Use dpkg --info (= dpkg-deb --info) to examine archive files,;and dpkg --contents (= dpkg-deb --contents) to list their contents.Could not run the command : ar" errorID=5031]
[setup:2525][INFO] Rollback complete
[setup:2525][ERR] Exiting due to error: [ErrorEvent type="error" bubbles=false cancelable=false eventPhase=2 text="dpkg-query: package 'adobe-certs' is not installed and no information is available;Use dpkg --info (= dpkg-deb --info) to examine archive files,;and dpkg --contents (= dpkg-deb --contents) to list their contents.Could not run the command : ar" errorID=5031]
[setup:2525][ERR] Runtime Installer end with exit code 7
[setup:2506][ERR] Exiting due to error: [ErrorEvent type="error" bubbles=false cancelable=false eventPhase=2 text="dpkg-query: package 'adobe-certs' is not installed and no information is available;Use dpkg --info (= dpkg-deb --info) to examine archive files,;and dpkg --contents (= dpkg-deb --contents) to list their contents.Could not run the command : ar" errorID=5031]
[setup:2506][ERR] Runtime Installer end with exit code 7

Also habe ich eine andere Möglichkeit gefunden, ein Adobe Air über das Deb-Paket zu installieren (ich wusste es vorher nicht):

$ wget http://airdownload.adobe.com/air/lin/download/2.6/adobeair.deb
$ sudo dpkg -i adobeair.deb

Und voilà! Adobe Air ist auf Ubuntu 16.10 / 17.04 installiert.
Installieren Sie jetzt Scratch 2.

# Find the latest Scratch AIR file link from https://scratch.mit.edu/scratch2download/
$ wget https://scratch.mit.edu/scratchr2/static/sa/Scratch-456.0.1.air
$ sudo Adobe\ AIR\ Application\ Installer ./Scratch-456.0.1.air 

und nochmal der selbe fehler:

Adobe AIR konnte nicht installiert werden. Debian-Tools zum Erstellen von Deb-Paketen (wie dpkg-deb oder ar) wurden auf dem System nicht gefunden.

Install.log

[Adobe AIR Application Installer:3197][INFO] Application Installer begin with version 2.6.0.19170 on Linux x86
[Adobe AIR Application Installer:3197][INFO] Commandline is: 
[Adobe AIR Application Installer:3197][INFO] Installed runtime (2.6.0.19170) located at /opt/Adobe AIR
[Adobe AIR Application Installer:3197][INFO] Unpackaging file:///home/administrator/Downloads/Scratch-456.0.1.air to /tmp/FlashTmp.LSCkv7
[Adobe AIR Application Installer:3197][INFO] Application signature verified
[Adobe AIR Application Installer:3197][INFO] Unpackaging/validation complete
[Adobe AIR Application Installer:3197][INFO] No app located for appID 'edu.media.mit.Scratch2Editor' and pubID ''
[Adobe AIR Application Installer:3197][INFO] Converting unpackaged application to a native installation package in /tmp/FlashTmp.RJSwfW
[Adobe AIR Application Installer:3197][ERR] Native installation package creation failed: [ErrorEvent type="error" bubbles=false cancelable=false eventPhase=2 text="Unhandled exception Error: Error creating the package Could not run the command : ar" errorID=5031]
[Adobe AIR Application Installer:3197][ERR] Application Installer end with exit code 7

Es sieht so aus, als ob ein nicht gewarteter Adobe Air nicht mehr mit neuen dpkg-debund neuen Anwendungen spielen arkann.

Irgendwelche Hinweise für Offline-Scratch 2 auf Ubuntu 16.10 / 17.04?

Martin
quelle
1
Vielen Dank! Mit dieser Anleitung konnte ich Scratch 2.0 am 17.04 zum Laufen bringen. Ich konnte den Launcher-Code jedoch nicht zum Laufen bringen. Ich konnte / usr / bin / applications bei meiner Installation von Ubuntu 17.04 nicht finden, aber ich konnte / usr / share / applications finden. Ich habe diesen Pfad ersetzt, aber es hat bei mir nicht funktioniert. Ich habe Alacarte installiert und damit einen Launcher für Scratch erstellt. Ich habe / opt / adobe-air-sdk / adobe-air / adobe-air /opt/adobe-air-sdk/scratch/Scratch-456.0.1.air als Befehl verwendet und alles hat gut funktioniert.
Scratch 2.0 auf Ubuntu 17.04
Entschuldigung, mea culpa. Zu lange in Skripten getaucht, mache ich am Ende einen Tippfehler. Ich werde das Tutorial bearbeiten. Sie haben Recht, dass der Ordner für globale Startprogramme /usr/share/applications/lokale Startprogramme enthält ~/.local/share/applications/. Ich brauche global, da ich mehr Benutzer auf dem Desktop habe. Der globale Launcher ist dann verfügbar, nachdem Sie den Superkey (Winkey) gedrückt und "Scratch" eingegeben haben. Vielen Dank fürs Testen!
Martin

Antworten:

19

Ich habe ein paar Stunden rumgespielt. Zuerst habe ich versucht, das aufzuspüren Adobe Air Application Installerund herauszufinden, was drinnen passiert.

$ sudo strace -s 500 -t -o air_scratch.txt Adobe\ AIR/Versions/1.0/Adobe\ AIR\ Application\ Installer ~/Downloads/Scratch-456.0.1.air 

Und ich fand diese Zeile:

read(18, "dpkg-deb: error: treewalk root /tmp/FlashTmp.3TWnKI/build/DEBIAN is not a directory\n", 4096) = 84

Es scheint, dass new dpkgkeine Links wie das vorherige verarbeiten kann. Dies kann durch ein Wrapper-Skript behoben werden, das z. B. in ~/air/bin/dpkgder PATHVariablen platziert und dort geändert wird, bevor der Adobe Air Application Installer ausgeführt wird. Leider kann der Scratch nicht ohne sudo installiert werden, und der Wechsel PATHzu sudo ist nicht so einfach.

Dann fand ich ein polnisches Forum unglücklicher Steuerzahler, die ähnliche Probleme lösen (sie müssen eine Air-App des Finanzministeriums unter Debian / Ubuntu ausführen): https://forum.dug.net.pl/viewtopic.php?pid = 310108 .

Und tief in diesem Forum habe ich einige Hinweise gefunden, wie man Scratch 2 unter Ubuntu 16.10 / 17.04 ausführt (auch ohne adobeair.debInstallation).

Dies ist meine endgültige funktionierende Lösung, die auf einer sauberen Installation getestet wurde.

# install necesary i386 libraries
$ sudo apt-get install libgtk2.0-0:i386 libstdc++6:i386 libxml2:i386 libxslt1.1:i386 libcanberra-gtk-module:i386 gtk2-engines-murrine:i386 libqt4-qt3support:i386 libgnome-keyring0:i386 libnss-mdns:i386 libnss3:i386

# make keyring visible for Adobe Air
$ sudo ln -s /usr/lib/i386-linux-gnu/libgnome-keyring.so.0 /usr/lib/libgnome-keyring.so.0
$ sudo ln -s /usr/lib/i386-linux-gnu/libgnome-keyring.so.0.2.0 /usr/lib/libgnome-keyring.so.0.2.0

# Download Adobe Air
cd ~/Downloads
wget http://airdownload.adobe.com/air/lin/download/2.6/AdobeAIRSDK.tbz2
$ sudo mkdir /opt/adobe-air-sdk
$ sudo tar jxf AdobeAIRSDK.tbz2 -C /opt/adobe-air-sdk

# Download Air runtime/SDK from Archlinux
wget https://aur.archlinux.org/cgit/aur.git/snapshot/adobe-air.tar.gz
$ sudo tar xvf adobe-air.tar.gz -C /opt/adobe-air-sdk
$ sudo chmod +x /opt/adobe-air-sdk/adobe-air/adobe-air

# Get actual scratch file URL from https://scratch.mit.edu/scratch2download/
$ sudo mkdir /opt/adobe-air-sdk/scratch
wget https://scratch.mit.edu/scratchr2/static/sa/Scratch-456.0.1.air
$ sudo cp Scratch-456.0.1.air /opt/adobe-air-sdk/scratch/
cp Scratch-456.0.1.air /tmp/
cd /tmp/
unzip /tmp/Scratch-456.0.1.air
$ sudo cp /tmp/icons/AppIcon128.png /opt/adobe-air-sdk/scratch/scratch.png

Startprogramm erstellen:

$ cat << _EOF_ > /usr/share/applications/Scratch2.desktop
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Exec=/opt/adobe-air-sdk/adobe-air/adobe-air /opt/adobe-air-sdk/scratch/Scratch-456.0.1.air
Icon=/opt/adobe-air-sdk/scratch/scratch.png
Terminal=false
Name=Scratch 2
Comment=Programming system and content development tool
Categories=Application;Education;Development;ComputerScience;
MimeType=application/x-scratch-project
_EOF_

$ chmod +x /usr/share/applications/Scratch2.desktop

Und das ist es. Der erste Lauf ist etwas länger, da die Air Scratch 2-Anwendung in einen ~/.appdata/edu.media.mit.Scratch2EditorOrdner entpackt.

Scratch 2 läuft unter Ubuntu 17.04

Martin
quelle
3
absolut boss! Gute Arbeit!
Tatsu
Bevor Sie "dpkg --add-architecture i386 && apt-get update" ausführen müssen, ist ein Fehler mit "libnss-mdns: i386" aufgetreten. Es funktioniert für mich ohne
Mohamed EL HABIB
Gut gemacht! Der Code funktioniert jedoch nur, wenn ich die $Markierung entfernt habe. Das Erstellen des Launchers ist ebenfalls fehlgeschlagen, es sei denn, ich bin diesem Beitrag gefolgt ( askubuntu.com/questions/956389/… ). Ich hoffe das hilft anderen. Hinweis: Ich bin zu Anfänger bei Ubuntu.
Mohammad ElNesr
1
Das $ist da, um einen Befehl zu kennzeichnen, den Sie ausführen müssen (im Gegensatz zur Ausgabe)
Dan Abrey
Es klappt! Schon jetzt auf Debian Testing / Buster. Vielen Dank!
Miguev