Cách cài đặt Scratch 2 trên Ubuntu 16.10. hay 17.04 (64 bit)?


15

Tôi cần cài đặt Adobe Air trên Ubuntu 16.10 / 17.04 với Scratch ngoại tuyến 2. Air không được hỗ trợ nhiều năm trên Linux, vì vậy có một số cách giải quyết. Một ứng dụng cho tôi lên tới Ubuntu 16.04 (sử dụng trình cài đặt nhị phân 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

nhưng vào ngày 16.10 / 17.4, nó kết thúc với lỗi trình cài đặt:

Adobe AIR không thể được cài đặt. Không tìm thấy các công cụ Debian để tạo các gói deb (như dpkg-deb hoặc ar) trên hệ thống.

Đó rõ ràng là thông báo lỗi sai dpkg-debarcả hai đều được cài đặt:

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

Tệp nhật ký cài đặt Adobe Air từ /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

Vì vậy, tôi đã tìm thấy một cách khác để cài đặt Adobe Air thông qua gói deb (trước đây tôi không biết):

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

Và Voila! Adobe Air được cài đặt trên Ubuntu 16.10 / 17.04.
Bây giờ cài đặt 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 

và một lần nữa cùng một lỗi:

Adobe AIR không thể được cài đặt. Không tìm thấy các công cụ Debian để tạo các gói deb (như dpkg-deb hoặc ar) trên hệ thống.

Cài đặt.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

Có vẻ như một Adobe Air không rõ ràng không thể chơi với mới dpkg-debarnữa.

Có gợi ý nào cho Scratch 2 ngoại tuyến trên Ubuntu 16.10 / 17.04 không?


1
Cảm ơn bạn! Tôi đã có thể chạy Scratch 2.0 vào ngày 17.04 với các hướng dẫn này. Tuy nhiên, tôi không thể làm cho mã launcher hoạt động. Tôi không thể tìm thấy / usr / bin / ứng dụng trên bản cài đặt Ubuntu 17.04 nhưng tôi đã có thể tìm / usr / share / ứng dụng. Tôi đã thay thế con đường này nhưng nó không làm việc cho tôi. Tôi đã cài đặt Alacarte và sử dụng nó để tạo launcher cho Scratch. Tôi đã sử dụng / opt / adobe-air-sdk / adobe-air / adobe-air /opt/adobe-air-sdk/scratch/Scratch-456.0.1.air làm lệnh và mọi thứ đều hoạt động tốt.
Cào 2.0 trên Ubuntu 17.04

Xin lỗi vì điều đó, mea culpa. Quá lâu lặn trong các kịch bản, tôi kết thúc một lỗi đánh máy. Tôi sẽ thực hiện một chỉnh sửa của hướng dẫn. Bạn đã đúng rằng thư mục cho các trình khởi chạy toàn cầu là /usr/share/applications/, các trình khởi chạy cục bộ đang ở ~/.local/share/applications/. Tôi cần toàn cầu vì tôi có nhiều người dùng hơn trên máy tính để bàn. Trình khởi chạy toàn cầu sau đó có sẵn sau khi nhấn superkey (winkey) và gõ "Scratch". Cảm ơn rất nhiều vì đã thử nghiệm!
Martin

Câu trả lời:


19

Tôi đã chơi xung quanh với vài giờ này. Đầu tiên tôi cố gắng theo dõi Adobe Air Application Installervà tìm thấy, những gì đang xảy ra bên trong.

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

Và tôi tìm thấy dòng này:

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

Dường như mới dpkgkhông thể xử lý các liên kết như trước đây. Điều này có thể được khắc phục bằng tập lệnh bao bọc được đặt, ví dụ như ~/air/bin/dpkgvà thay đổi PATHbiến trước khi chạy Trình cài đặt ứng dụng Adobe Air. Thật không may, Scratch không thể được cài đặt mà không có sudo và việc thay đổi PATHcho sudo không dễ dàng như vậy.

Sau đó, tôi tìm thấy một diễn đàn đánh bóng những người nộp thuế không vui, đang giải quyết các vấn đề tương tự (họ cần chạy một số ứng dụng Air từ bộ tài chính trên Debian / Ubuntu): https://forum.dug.net.pl/viewtopic.php?pid = 310108 .

Và sâu bên trong diễn đàn này tôi đã tìm thấy một số gợi ý, cách chạy Scratch 2 trên Ubuntu 16.10 / 17.04 (ngay cả khi không adobeair.debcài đặt).

Đây là giải pháp làm việc cuối cùng của tôi, được thử nghiệm trên cài đặt sạch.

# 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

Tạo launcher:

$ 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

Và đó là nó. Lần chạy đầu tiên dài hơn một chút, vì Air đang giải nén ứng dụng Scratch 2 vào ~/.appdata/edu.media.mit.Scratch2Editorthư mục.

Scratch 2 chạy trên Ubuntu 17.04


3
hoàn toàn là ông chủ! công việc tuyệt vời
tatsu

trước khi bạn phải chạy "dpkg --add-architecture i386 && apt-get update" tôi đã gặp lỗi với "libnss-mdns: i386". Nó hoạt động với tôi mà không có
Mohamed EL HABIB

Bạn đã làm rất tốt! Tuy nhiên, mã không hoạt động trừ khi tôi xóa $dấu. Ngoài ra, việc tạo launcher không thành công trừ khi tôi theo dõi bài đăng này ( askubfox.com/questions/956389/ mẹo ). Tôi hy vọng điều này sẽ giúp những người khác. Lưu ý: Tôi quá mới làm quen với Ubuntu.
Mohammad ElNesr

1
$ở đó để biểu thị một lệnh mà bạn phải chạy (trái ngược với đầu ra)
Dan Abrey

Nó hoạt động! Ngay cả bây giờ, trên thử nghiệm Debian / buster. Cảm ơn bạn!
Miguev
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.