วิธีการติดตั้ง Scratch 2 บน Ubuntu 16.10 หรือ 17.04 (64 บิต)


15

ฉันต้องติดตั้ง Adobe Air บน Ubuntu 16.10 / 17.04 ด้วย Scratch 2 แบบออฟไลน์ Air ไม่ได้รับการสนับสนุนบน Linux เป็นเวลาหลายปีดังนั้นจึงมีวิธีแก้ไขปัญหาหลายประการ สิ่งหนึ่งที่ใช้ได้กับฉันจนถึง Ubuntu 16.04 (โดยใช้ตัวติดตั้งไบนารีของอากาศ):

# 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

แต่ใน 16.10 / 17.4 มันจบลงด้วยข้อผิดพลาดของตัวติดตั้ง:

ไม่สามารถติดตั้ง Adobe AIR ไม่พบเครื่องมือ Debian สำหรับการสร้างแพ็คเกจ deb (เช่น dpkg-deb หรือ ar) บนระบบ

ซึ่งเป็นข้อผิดพลาดที่ผิดพลาดอย่างเห็นได้ชัดเป็นdpkg-debและarมีทั้งที่ติดตั้ง:

$ 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 จาก /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

ดังนั้นฉันจึงพบวิธีอื่นในการติดตั้ง Adobe Air ผ่านแพ็คเกจ deb (ฉันไม่เคยรู้จักมาก่อน):

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

และvoilà! ติดตั้ง Adobe Air บน Ubuntu 16.10 / 17.04
ตอนนี้ติดตั้ง 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 

และข้อผิดพลาดเดียวกันอีกครั้ง:

ไม่สามารถติดตั้ง Adobe AIR ไม่พบเครื่องมือ Debian สำหรับการสร้างแพ็คเกจ deb (เช่น dpkg-deb หรือ ar) บนระบบ

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

ดูเหมือนว่า Adobe Air จะไม่สามารถเล่นได้ด้วยสิ่งใหม่dpkg-debและarอีกต่อไป

มีคำแนะนำใด ๆ สำหรับ Scratch 2 ออฟไลน์บน Ubuntu 16.10 / 17.04?


1
ขอขอบคุณ! ฉันสามารถรับ Scratch 2.0 ทำงานบน 17.04 ด้วยคำแนะนำเหล่านี้ อย่างไรก็ตามฉันไม่สามารถรับรหัสตัวเรียกใช้งานได้ ฉันไม่พบ / usr / bin / แอปพลิเคชันในการติดตั้ง Ubuntu 17.04 แต่ฉันสามารถค้นหา / usr / share / applications ฉันใช้เส้นทางนี้แทน แต่มันไม่ได้ผลสำหรับฉัน ฉันติดตั้ง Alacarte และใช้มันเพื่อสร้างตัวเรียกใช้งาน Scratch ฉันใช้ / opt / adobe-air-sdk / adobe-air / adobe-air /opt/adobe-air-sdk/scratch/Scratch-456.0.1.air ตามคำสั่งและทุกอย่างทำงานได้ดี
Scratch 2.0 บน Ubuntu 17.04

ขอโทษสำหรับสิ่งนั้นกฟน. พุ่งยาวเกินไปในสคริปต์ฉันพิมพ์ผิดตอนท้าย ฉันจะแก้ไขบทช่วยสอน คุณถูกต้องว่าโฟลเดอร์สำหรับตัวเรียกใช้งานทั่วโลกคือ/usr/share/applications/ตัวเรียกใช้งานในพื้นที่~/.local/share/applications/นั้น ฉันต้องการทั่วโลกเนื่องจากฉันมีผู้ใช้บนเดสก์ท็อปมากขึ้น ตัวเรียกใช้งานส่วนกลางจะพร้อมใช้งานหลังจากกดปุ่ม superkey (winkey) แล้วพิมพ์ "Scratch" ขอบคุณมากสำหรับการทดสอบ!
Martin

คำตอบ:


19

ฉันได้เล่นรอบกับสองสามชั่วโมงนี้ ก่อนอื่นฉันพยายามติดตามAdobe Air Application Installerและค้นหาสิ่งที่เกิดขึ้นภายใน

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

และฉันพบบรรทัดนี้:

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

ดูเหมือนว่าใหม่dpkgจะไม่สามารถจัดการลิงค์ได้เหมือนลิงค์ก่อนหน้า สามารถแก้ไขได้โดยวางสคริปต์ตัวคลุมเช่น~/air/bin/dpkgและเปลี่ยนPATHตัวแปรก่อนเรียกใช้ Adobe Air Application Installer น่าเสียดายที่ Scratch ไม่สามารถติดตั้งได้หากไม่มี sudo และการเปลี่ยนPATHsudo นั้นไม่ใช่เรื่องง่าย

จากนั้นฉันก็พบฟอรัมโปแลนด์ของผู้เสียภาษีที่ไม่มีความสุขซึ่งกำลังแก้ไขปัญหาที่คล้ายกัน (พวกเขาต้องใช้แอพ Air บางตัวจากกระทรวงการคลังใน Debian / Ubuntu): https://forum.dug.net.pl/viewtopic.php?pid =

และในส่วนลึกของฟอรั่มนี้ฉันพบคำแนะนำวิธีการใช้งาน Scratch 2 บน Ubuntu 16.10 / 17.04 (แม้ว่าจะไม่ได้adobeair.debติดตั้ง)

นี่เป็นวิธีการแก้ปัญหาการทำงานขั้นสุดท้ายของฉันผ่านการทดสอบในการติดตั้งใหม่ทั้งหมด

# 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

สร้างตัวเรียกใช้งาน:

$ 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

และนั่นคือมัน การเรียกใช้ครั้งแรกจะใช้เวลานานขึ้นเล็กน้อยเนื่องจาก Air กำลังเปิดแอปพลิเคชัน Scratch 2 ไปยัง~/.appdata/edu.media.mit.Scratch2Editorโฟลเดอร์

เกา 2 ทำงานบน Ubuntu 17.04


3
เจ้านายอย่างแน่นอน! การทำงานที่ดี!
tatsu

ก่อนที่คุณจะต้องเรียกใช้ "dpkg - เพิ่มสถาปัตยกรรม i386 && apt-get update" ฉันพบข้อผิดพลาดกับ "libnss-mdns: i386" มันใช้งานได้โดยไม่ต้อง
Mohamed EL HABIB

เยี่ยมมาก! อย่างไรก็ตามรหัสไม่ทำงานจนกว่าฉันจะลบ$เครื่องหมายออก การสร้างตัวเรียกใช้งานล้มเหลวเช่นกันเว้นแต่ฉันจะติดตามโพสต์นี้ ( askubuntu.com/questions/956389/… ) ฉันหวังว่านี่จะช่วยผู้อื่น หมายเหตุ:ฉันเป็นมือใหม่ที่ Ubuntu
Mohammad ElNesr

1
$จะมีความหมายคำสั่งที่คุณต้องวิ่ง (เมื่อเทียบกับการส่งออก)
แดน Abrey

มันได้ผล! แม้ตอนนี้ในการทดสอบ Debian / บัสเตอร์ ขอขอบคุณ!
miguev
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.