Discuss Scratch

MegaApuTurkUltra
Scratcher
1000+ posts

Scratch Desktop for GNU/Linux?

Will there be a desktop version for gnu/linux? It's just electron right? Is there any technical reason it's not available?

$(".box-head")[0].textContent = "committing AT crimes since $whenever"
MegaApuTurkUltra
Scratcher
1000+ posts

Scratch Desktop for GNU/Linux?

Taking a look inside…

...
-rw-r--r-- 1 matu matu 46M Jan 2 16:27 renderer.js
...

only in javascript™

$(".box-head")[0].textContent = "committing AT crimes since $whenever"
Jonathan50
Scratcher
1000+ posts

Scratch Desktop for GNU/Linux?

Was this paragraph there at the time?
When will you have Scratch Desktop for Linux?

Scratch Desktop on Linux is currently not supported. We are working with partners and the open-source community to determine if there is a way we can support Linux in the future. Stay tuned!
(https://scratch.mit.edu/download)

Edit: According to this they are planning to make a Raspberry Pi version of Scratch 3: https://scratch.mit.edu/users/thisandagain/#comments-52560393

Last edited by Jonathan50 (Jan. 3, 2019 02:38:25)


Not yet a Knight of the Mu Calculus.
smrman
Scratcher
1000+ posts

Scratch Desktop for GNU/Linux?

Jonathan50 wrote:

Was this paragraph there at the time?
When will you have Scratch Desktop for Linux?

Scratch Desktop on Linux is currently not supported. We are working with partners and the open-source community to determine if there is a way we can support Linux in the future. Stay tuned!
(https://scratch.mit.edu/download)
I remember translating it, so yeah, it was there…

MegaApuTurkUltra wrote:

only in javascript
Of course, it's a Node.js app…
Should be ported easily to Linux since Chromium, FFMPEG is available on Linux…

By the way, why is the default install path AppData on Windows?


lyshie
Scratcher
5 posts

Scratch Desktop for GNU/Linux?

scratch-desktop is an electron app, repack it from
Scratch Desktop Setup 1.2.0.exe

I could run it on Fedora 29.

How about this?
https://gist.github.com/lyshie/0c49393076b8b375ca1bd98c28f95fb0

Screenshot

Last edited by lyshie (Jan. 3, 2019 16:08:59)

bybb
Scratcher
1000+ posts

Scratch Desktop for GNU/Linux?

I see no reason why it isn't supported. It's literally an electron app? Doesn't that mean the same source works on anything with electron (aka a browser)?

Game Over
You'll find me on @LastContinue from now on.
smrman
Scratcher
1000+ posts

Scratch Desktop for GNU/Linux?

Yes, that's the goal of Electron…
A Node webapp inside the Chromium browser…
One code base, all major platforms supported.

bybb
Scratcher
1000+ posts

Scratch Desktop for GNU/Linux?

smrman wrote:

Yes, that's the goal of Electron…
A Node webapp inside the Chromium browser…
One code base, all major platforms supported.
So why is there no official linux port yet? Isn't it just another (few) command(s) in a build script?

Game Over
You'll find me on @LastContinue from now on.
smrman
Scratcher
1000+ posts

Scratch Desktop for GNU/Linux?

Basicly you just build your electron app using generic javascript and the electron api (sometimes the react framework too, like in this case)
and you just throw up some electron npm commands to build your app to Windows, or to MacOs or Linux.

Windows build command (requires Visual Studio Builds Tools)
gn gen out/Release-x86 --args="import(\"//electron/build/args/release.gn\") target_cpu=\"x86\""

Linux arm64 build (Requires CLang, build-essential, gcc, etc…)
sudo apt-get install libc6-dev-arm64-cross linux-libc-dev-arm64-cross \ g++-aarch64-linux-gnu

For short, it just need other build tools and a bit of practice.
Could be easily done by continuous integration…

MegaApuTurkUltra
Scratcher
1000+ posts

Scratch Desktop for GNU/Linux?

lyshie wrote:

scratch-desktop is an electron app, repack it from
Scratch Desktop Setup 1.2.0.exe

I could run it on Fedora 29.

How about this?
https://gist.github.com/lyshie/0c49393076b8b375ca1bd98c28f95fb0

Screenshot
nice!

i also noticed this updater yaml config that pointed to a “scratch-desktop” repo on github - so I went to http://github.com/LLK/scratch-desktop but there was nothing there… Private repo or did someone write the config before actually making the repo exist?

$(".box-head")[0].textContent = "committing AT crimes since $whenever"
SimpleScratch
Scratcher
500+ posts

Scratch Desktop for GNU/Linux?

lyshie wrote:

scratch-desktop is an electron app, repack it from
Scratch Desktop Setup 1.2.0.exe

I could run it on Fedora 29.

How about this?
https://gist.github.com/lyshie/0c49393076b8b375ca1bd98c28f95fb0

Screenshot

Tried out your instructions from github on a Pi3B+ just to see if The Force was with me but lucked out at this point

pi@27Jun18_19Sep18tmp/scratch-desktop $ ./scratch-desktop
./scratch-desktop: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.27' not found (required by ./scratch-desktop)


lyshie
Scratcher
5 posts

Scratch Desktop for GNU/Linux?

SimpleScratch wrote:

lyshie wrote:

scratch-desktop is an electron app, repack it from
Scratch Desktop Setup 1.2.0.exe

I could run it on Fedora 29.

How about this?
https://gist.github.com/lyshie/0c49393076b8b375ca1bd98c28f95fb0

Screenshot

Tried out your instructions from github on a Pi3B+ just to see if The Force was with me but lucked out at this point

pi@27Jun18_19Sep18tmp/scratch-desktop $ ./scratch-desktop
./scratch-desktop: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.27' not found (required by ./scratch-desktop)



try to install older version
$ npm install electron@2.0.16  --save-dev

Last edited by lyshie (Jan. 4, 2019 08:11:14)

n007-Bond
New to Scratch
10 posts

Scratch Desktop for GNU/Linux?

How to install Scratch 2 Offline Editor on Ubuntu/Debian:
# 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
Create launcher:
$ cat << _EOF_ > /usr/share/applications/Scratch2.desktop

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
A Screenshoot:
https://i.imgur.com/shDski5.png

Last edited by n007-Bond (Jan. 4, 2019 21:54:08)

MegaApuTurkUltra
Scratcher
1000+ posts

Scratch Desktop for GNU/Linux?

n007-Bond wrote:

How to install Scratch 2 Offline Editor on Ubuntu/Debian:
# 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
Create launcher:
$ cat << _EOF_ > /usr/share/applications/Scratch2.desktop

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
A Screenshoot:
https://i.imgur.com/shDski5.png
On arch (btw i use arch) I believe there's an AUR package that does this all for you

$(".box-head")[0].textContent = "committing AT crimes since $whenever"
gerunding
New to Scratch
1 post

Scratch Desktop for GNU/Linux?

smrman wrote:

By the way, why is the default install path AppData on Windows?

You say “default”, but is there a way to change this? If I'm installing Scratch Desktop in (say) an educational environment then installing for All Users would be smarter than making dozens of per-user installations.
smrman
Scratcher
1000+ posts

Scratch Desktop for GNU/Linux?

No you can't.
But if you move the installation folder where you want, then create a sym link it is working perfectly…

n007-Bond
New to Scratch
10 posts

Scratch Desktop for GNU/Linux?

MegaApuTurkUltra wrote:

On arch (btw i use arch) I believe there's an AUR package that does this all for you
You're right Arch is my love <3

Related to this topic:
1) I found an Ubuntu educational fork for Scratch 3. You can download the zip file. It's in french but you can change the language.
http://www.ac-grenoble.fr/maths/scratch/

2) How to install Scratch2.0 on Raspberry PI
https://www.raspberrypi.org/blog/a-new-version-of-scratch-for-raspberry-pi-now-with-added-gpio/
https://github.com/NoMod-Programming/Whiskers/
https://infinitytec.github.io/Whiskers-Website/

An offline Scratch 2 editor is available for Raspberry Pi 2 or 3 systems. This doesn’t depend on Chromium, it requires an ARM7 processor or better; it will fail with a segmentation fault if you run it on ARM6-based boards.
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo reboot
sudo apt-get install scratch2

Scratch 1.4 and Scratch 2 are both installed and available in the Programming menu. Scratch 1.4 will only load .sb files. Scratch 2.0 will be able to read the older .sb files or the .sb2 files it creates. The offline Scratch 2 editor can access GPIO pins. More at: https://www.raspberrypi.org/blog/scratch-2-raspberry-pi/

3) Scratch 2 + Docker/Singularity Container(I think it wotrks with Scratch 3.0):
https://hub.docker.com/r/dtschan42/scratch2-singularity/
alaindu22
Scratcher
100+ posts

Scratch Desktop for GNU/Linux?

On french forum
http://forum.primtux.fr/viewtopic.php?id=1585 you have a post about this subject

primtux4 is offered with scratch 1.4 fonctionnalities
scrtach 2.0 is optionnel but it is easy to install its

and with this post ( http://forum.primtux.fr/viewtopic.php?id=1585 ) you have a how to for installing scratch 3.0 on debian ( PrimTux-Debian9-amd64-CTP-Legacy-2018-11-29.hybrid.iso )

there is also a primtux distribution for raspberry with scratch 1.4 and scratch2.0

Alain
vimalb
New to Scratch
2 posts

Scratch Desktop for GNU/Linux?

Some one can check out this for offline Scratch 3.0 for Linux
https://github.com/redshaderobotics/scratch3.0-linux
for ubuntu or debian based system
johny3457
New to Scratch
3 posts

Scratch Desktop for GNU/Linux?


Take a look at Scratux, it is a new project that provides Free and Libre Open Source Linux binaries of Scratch Desktop for different distros

Last edited by johny3457 (May 13, 2019 16:23:21)

Powered by DjangoBB