Cara menginstal Scratch 2 di Ubuntu 16.10. atau 17.04 (64bit)?

15

Saya perlu menginstal Adobe Air di Ubuntu 16.10 / 17.04 dengan Scratch 2. Offline Air bertahun-tahun tidak didukung di Linux, jadi ada beberapa solusi. Salah satu yang bekerja untuk saya hingga Ubuntu 16.04 (menggunakan pemasang binary Air):

# 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

tetapi pada 16.10 / 17.4 ini berakhir dengan kesalahan instalator:

Adobe AIR tidak dapat diinstal. Alat Debian untuk membuat paket deb (seperti dpkg-deb atau ar) tidak ditemukan pada sistem.

Yang jelas merupakan pesan kesalahan salah dpkg-debdan arkeduanya diinstal:

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

Adobe Air menginstal file log dari /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

Jadi saya menemukan cara lain untuk menginstal Adobe Air via paket deb (saya tidak tahu sebelumnya):

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

Dan voila! Adobe Air diinstal pada Ubuntu 16.10 / 17.04.
Sekarang instal 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 

dan lagi kesalahan yang sama:

Adobe AIR tidak dapat diinstal. Alat Debian untuk membuat paket deb (seperti dpkg-deb atau ar) tidak ditemukan pada sistem.

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

Sepertinya Adobe Air yang tidak dirawat tidak dapat bermain dengan yang baru dpkg-debdan arlagi.

Adakah petunjuk untuk offline Scratch 2 di Ubuntu 16.10 / 17.04?

Martin
sumber
1
Terima kasih! Saya bisa menjalankan Scratch 2.0 pada 17.04 dengan instruksi ini. Namun, saya tidak bisa membuat kode launcher berfungsi. Saya tidak dapat menemukan / usr / bin / aplikasi pada instal Ubuntu 17.04 tetapi saya dapat menemukan / usr / share / aplikasi. Saya mengganti jalur ini tetapi tidak berhasil untuk saya. Saya menginstal Alacarte dan menggunakannya untuk membuat peluncur untuk Scratch. Saya menggunakan / opt / adobe-air-sdk / adobe-air / adobe-air /opt/adobe-air-sdk/scratch/Scratch-456.0.1.air sebagai perintah dan semuanya bekerja dengan baik.
Scratch 2.0 pada Ubuntu 17.04
Maaf untuk itu, mea culpa. Terlalu lama menyelam dalam skrip, saya membuat kesalahan ketik di bagian akhir. Saya akan mengedit tutorial. Anda benar bahwa folder untuk peluncur global /usr/share/applications/, peluncur lokal di ~/.local/share/applications/. Saya perlu global karena saya memiliki lebih banyak pengguna di desktop. Peluncur global kemudian tersedia setelah menekan superkey (winkey) dan mengetik "Gores". Terima kasih banyak untuk pengujian!
Martin

Jawaban:

19

Saya telah bermain-main dengan beberapa jam ini. Pertama saya mencoba melacak Adobe Air Application Installerdan menemukan, apa yang terjadi di dalam.

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

Dan saya menemukan baris ini:

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

Tampaknya baru dpkgtidak dapat menangani tautan seperti sebelumnya. Ini dapat diperbaiki dengan skrip pembungkus yang ditempatkan misalnya ke ~/air/bin/dpkgdan mengubah PATHvariabel sebelum menjalankan Adobe Air Application Installer. Sayangnya, Scratch tidak dapat diinstal tanpa sudo, dan mengubah PATHuntuk sudo tidaklah mudah.

Kemudian saya menemukan forum polesan para pembayar pajak yang tidak bahagia, yang sedang menyelesaikan masalah yang sama (mereka perlu menjalankan beberapa aplikasi Air dari kementerian keuangan di Debian / Ubuntu): https://forum.dug.net.pl/viewtopic.php?pid = 310108 .

Dan jauh di dalam forum ini saya menemukan beberapa petunjuk, cara menjalankan Scratch 2 di Ubuntu 16.10 / 17.04 (bahkan tanpa adobeair.debinstalasi).

Ini adalah solusi akhir saya, diuji dengan instalasi bersih.

# 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

Buat peluncur:

$ 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

Dan itu saja. Jalankan pertama sedikit lebih lama, karena Air membongkar aplikasi Scratch 2 ke ~/.appdata/edu.media.mit.Scratch2Editorfolder.

Gores 2 berjalan di Ubuntu 17.04

Martin
sumber
3
benar-benar bos! kerja bagus!
tatsu
sebelum Anda harus menjalankan "dpkg --add-architecture i386 && pembaruan apt-get" saya mendapat kesalahan dengan "libnss-mdns: i386". Ini bekerja untuk saya tanpa
Mohamed EL HABIB
Kerja bagus! Namun, kode tidak berfungsi kecuali saya menghapus $tanda. Juga membuat peluncur gagal kecuali saya mengikuti posting ini ( askubuntu.com/questions/956389/… ). Saya harap ini membantu orang lain. Catatan: Saya terlalu pemula di Ubuntu.
Mohammad ElNesr
1
Apakah $ada untuk menandakan sebuah perintah yang harus Anda jalankan (sebagai lawan dari output)
Dan Abrey
Berhasil! Bahkan sekarang, di Debian testing / buster. Terima kasih!
miguev