Repository URL to install this package:
|
Version:
1.0 ▾
|
#!/bin/bash
# A menu driven shell script to install education software by grade level
## ----------------------------------
# Step #1: Define variables
# ----------------------------------
EDITOR=vim
PASSWD=/etc/passwd
# ----------------------------------
# Step #2: User defined function
# ----------------------------------
pause(){
read -p "Press [Enter] key to continue..." fackEnterKey
}
# installs software suited to preschoolers
one(){
if dpkg -s education-preschool &>/dev/null; then
echo "NOTICE: You are about to REMOVE the \"education-preschool\" package."
echo ""
echo "If you wish to proceed, press Y, then press ENTER, at which point"
echo "you will be prompted for your password to uninstall the package."
echo "If not, press N, then ENTER to return to the main screen."
read -n 1 -r
if [[ $REPLY =~ ^[Yy]$ ]]
then
sudo apt purge education-preschool -y && sudo apt autoremove
else
exec $0
fi
pause
else
clear
echo "This option will install Devuan's \"education-preschool\" package."
echo "Packages it pulls in are geared toward preschoolers. Once installed,"
echo "these apps will appear in the main menu's \"Education\" category."
echo ""
echo "Bambam: A keyboard mashing and doodling game for babies"
echo "Blinken: A Linux version of Simon (memory game), introduced in 1978"
echo "Gamine: A game designed for children not yet able to use a keyboard"
echo "GCompris: Educational software suite with activities for ages 2 to 10"
echo "Kanagram: Game with scrambled words -- unscramble it to win"
echo "KHangman: A Linux version of the word game Hangman"
echo "KLettres: Teaches how to read and pronounce letters in foreign alphabets"
echo "KTuberling: A drawing toy for small children with several activites"
echo "PySioGame: A set of educational activities and games for ages 3 to 10"
echo "TuxPaint: Simple drawing program for young children (not general-purpose)"
echo ""
echo "Please enter your password to continue:"
sudo apt update && sudo apt install education-preschool -y
pause
fi
}
# installs software suited to elementary school students
two(){
if dpkg -s education-primaryschool &>/dev/null; then
echo "NOTICE: You are about to REMOVE the \"education-primaryschool\" package."
echo ""
echo "If you wish to proceed, press Y, then press ENTER, at which point"
echo "you will be prompted for your password to uninstall the package."
echo "If not, press N, then ENTER to return to the main screen."
read -n 1 -r
if [[ $REPLY =~ ^[Yy]$ ]]
then
sudo apt purge education-primaryschool -y && sudo apt autoremove
else
exec $0
fi
pause
else
clear
echo "This option will install Devuan's \"education-primaryschool\" package."
echo "Packages it pulls in are geared toward elementary school students."
echo "Once installed, these apps will appear in the main menu's \"Education\" category."
echo ""
echo "Basket: A multi-purpose note-taking application"
echo "GCompris: Educational software suite with activities for kids ages 2-10"
echo "GLPeces: A Tangram (ancient Chinese puzzle) game"
echo "KAlgebra: An algebraic graphing calculator with support for 3-D graphing"
echo "Kalzium: Chemistry app with periodic table, molecule viewer, and more"
echo "Kanagram: Game with scrambled words. To win, unscramble the word"
echo "KBruch: An aid for learning how to calculate with fractions"
echo "KGeography: An aid for learning about world geography"
echo "KHangman: A Linux version of the word game Hangman"
echo "Kig: A geometry tool teaching students math figures and concepts"
echo "KLettres: Teaches how to read and pronounce letters in foreign alphabets"
echo "KMPlot: A powerful math plotter, capable of plotting multiple functions"
echo "KStars: A scientifically accurate virtual desktop planetarium"
echo "KTouch: An aid for learning how to type with speed and accuracy"
echo "KTuberling: A drawing toy for small children with several activites"
echo "KTurtle: An educational programming environment which uses TurtleScript"
echo "KWordQuiz: A general purpose flashcard program for vocabulary training"
echo "Marble: A virtual globe, complete with a minimal set of geogrphic data"
echo "Parley: A tool for vocabulary training when learning a foreign language"
echo "PySioGame: A set of educational activities and games for ages 3 to 10"
echo "QABCs: Educational software to learn the alphabet and using a keyboard"
echo "Ri-Li: Drive a train across levels and collect all the coaches to win"
echo "Step: A tool to not only learn but also feel how physics works"
echo "TuxMath: A game where you defend cities by solving math problems"
echo "TuxPaint: Simple drawing program for young children (not general-purpose)"
echo "TuxType: An educational typing tutorial starring Tux, the Linux Penguin"
echo "ULCC: An educational tool/game teaching words through visual samples"
echo ""
echo "Please enter your password to continue:"
sudo apt update && sudo apt install education-primaryschool -y
pause
fi
}
# installs software suited to middle school / junior high students
three(){
if dpkg -s education-secondaryschool &>/dev/null; then
echo "NOTICE: You are about to REMOVE the \"education-secondaryschool\" package."
echo ""
echo "If you wish to proceed, press Y, then press ENTER, at which point"
echo "you will be prompted for your password to uninstall the package."
echo "If not, press N, then ENTER to return to the main screen."
read -n 1 -r
if [[ $REPLY =~ ^[Yy]$ ]]
then
sudo apt purge education-secondaryschool -y && sudo apt autoremove
else
exec $0
fi
pause
else
clear
echo "This option will install Devuan's \"education-secondaryschool\" package."
echo "Packages it pulls in are geared toward middle school / junior high students."
echo "Once installed, these apps will appear in the main menu's \"Education\" category."
echo ""
echo "Basket: A multi-purpose note-taking application"
echo "Calibre: An easy to use E-book manager and complete E-library solution"
echo "Carmetal: Dynamic geometry software with a highly ergonomic user interface"
echo "Chemtool: A 2-D chemical structures drawing program"
echo "Einstein: Remake of the DOS game Sherlock, inspired by Einstein's puzzle"
echo "Fritzing: Easy-to-use electronic circuitry and schematic design software"
echo "Inkscape: A powerful free open-source vector graphics creator/editor"
echo "KAlgebra: An algebraic graphing calculator with support for 3-D graphing"
echo "Kalzium: Chemistry app with periodic table, molecule viewer, and more"
echo "KBruch: An aid for learning how to calculate with fractions"
echo "KGeography: An aid for learning about world geography"
echo "Kig: A geometry tool teaching students math figures and concepts"
echo "KMPlot: A powerful math plotter, capable of plotting multiple functions"
echo "KStars: A scientifically accurate virtual desktop planetarium"
echo "KTouch: An aid for learning how to type with speed and accuracy"
echo "KTuberling: A drawing toy for small children with several activites"
echo "KTurtle: An educational programming environment which uses TurtleScript"
echo "KWordQuiz: A general purpose flashcard program for vocabulary training"
echo "Lightspeed: Shows relativity's effects on the appearance of moving objects"
echo "Marble: A virtual globe, complete with a minimal set of geogrphic data"
echo "Melting: Computes the melting temperature of a nucleic acid duplex"
echo "Parley: A tool for vocabulary training when learning a foreign language"
echo "Pencil2D: Create hand-drawn animations using bitmap and vector graphics"
echo "Ri-Li: Drive a train across levels and collect all the coaches to win"
echo "Step: A tool to not only learn but also feel how physics works"
echo "Vokoscreen-NG: An easy to use screencast (videos of your desktop) creator"
echo ""
echo "Please enter your password to continue:"
sudo apt update && sudo apt install education-secondaryschool -y
pause
fi
}
# installs software suited to high school students
four(){
if dpkg -s education-highschool &>/dev/null; then
echo "NOTICE: You are about to REMOVE the \"education-highschool\" package."
echo ""
echo "If you wish to proceed, press Y, then press ENTER, at which point"
echo "you will be prompted for your password to uninstall the package."
echo "If not, press N, then ENTER to return to the main screen."
read -n 1 -r
if [[ $REPLY =~ ^[Yy]$ ]]
then
sudo apt purge education-highschool -y && sudo apt autoremove
else
exec $0
fi
pause
else
clear
echo "This option will install Devuan's \"education-highschool\" package."
echo "Packages it pulls in are geared toward high school students."
echo "Once installed, these apps will appear in the main menu's \"Education\" category."
echo ""
echo "Calibre: An easy to use E-book manager and complete E-library solution"
echo "Cantor: Interface for mathematical applications"
echo "Carmetal: Dynamic geometry software with a highly ergonomic user interface"
echo "Chemtool: A 2-D chemical structures drawing program"
echo "Fritzing: Easy-to-use electronic circuitry and schematic design software"
echo "Inkscape: A powerful free open-source vector graphics creator/editor"
echo "Kalzium: Chemistry app with periodic table, molecule viewer, and more"
echo "KMPlot: A powerful math plotter, capable of plotting multiple functions"
echo "KTouch: An aid for learning how to type with speed and accuracy"
echo "KTurtle: An educational programming environment which uses TurtleScript"
echo "Lightspeed: Shows relativity's effects on the appearance of moving objects"
echo "Marble: A virtual globe, complete with a minimal set of geogrphic data"
echo "Melting: Computes the melting temperature of a nucleic acid duplex"
echo "Pencil2D: Create hand-drawn animations using bitmap and vector graphics"
echo "Rocs: Helps professors show the results of a graphic algorithm"
echo "Step: A tool to not only learn but also feel how physics works"
echo "Yorick: Tool for scientific graphs, simulations, calculations, & more"
echo ""
echo "Please enter your password to continue:"
sudo apt update && sudo apt install education-highschool -y
pause
fi
}
# installs astronomy education pack
five(){
if dpkg -s education-astronomy astronomical-almanac sunclock &>/dev/null; then
echo "NOTICE: You are about to REMOVE the \"education-astronomy astronomical-almanac lightspeed sunclock xtide\" package."
echo ""
echo "If you wish to proceed, press Y, then press ENTER, at which point"
echo "you will be prompted for your password to uninstall the package."
echo "If not, press N, then ENTER to return to the main screen."
read -n 1 -r
if [[ $REPLY =~ ^[Yy]$ ]]
then
sudo apt purge education-astronomy astronomical-almanac sunclock -y && sudo apt autoremove
else
exec $0
fi
pause
else
clear
echo "This option will install Devuan's \"education-astronomy\" package plus other related apps that"
echo "sound useful. Once installed, these apps will appear in the main menu's \"Education\" category."
echo ""
echo "Astronomical Almanac: Calculates planet and star positions"
echo "GPredict: Real-time satellite tracking & orbit prediction program"
echo "KStars: A scientifically accurate virtual desktop planetarium"
echo "OpenUniverse: A fun, fast and free OpenGL space simulator"
echo "Stellarium: A real-time photo-realistic 3-D sky generator"
echo "Sunclock: Shows what time it is in all parts of the world"
echo "XPlanet: Renders an image of a planet into a window or a file"
echo ""
echo "Please enter your password to continue:"
sudo apt update && sudo apt install education-astronomy astronomical-almanac sunclock -y
pause
fi
}
# installs chemistry education pack
six(){
if dpkg -s education-chemistry rasmol &>/dev/null; then
echo "NOTICE: You are about to REMOVE the \"education-chemistry rasmol\" package."
echo ""
echo "If you wish to proceed, press Y, then press ENTER, at which point"
echo "you will be prompted for your password to uninstall the package."
echo "If not, press N, then ENTER to return to the main screen."
read -n 1 -r
if [[ $REPLY =~ ^[Yy]$ ]]
then
sudo apt purge education-chemistry rasmol -y && sudo apt autoremove
else
exec $0
fi
pause
else
clear
echo "This option will install Devuan's \"education-chemistry\" package plus other related apps that"
echo "sound useful. Once installed, these apps will appear in the main menu's \"Education\" category."
echo ""
echo "Avogadro: A molecular graphics and modelling system"
echo "Chemtool: A 2-D chemical structures drawing program"
echo "EasyChem: Draw high-quality molecules and 2-D chemical formulas"
echo "GChemPaint: An editor for 2-D chemical structures"
echo "GDis: A molecular and crystal model viewer"
echo "GPeriodic: Allows you to view info about all the chemical elements"
echo "Kalzium: Chemistry app with periodic table, molecule viewer, and more"
echo "PyMol: Molecular graphics system targeted at biomolecules and proteins"
echo "RasMol: Visualizes proteins, nucleic acids and small molecules"
echo ""
echo "Please enter your password to continue:"
sudo apt update && sudo apt install education-chemistry rasmol -y
pause
fi
}
# installs computer programming / software development education pack
seven(){
if dpkg -s education-development git kdialog qtcreator swi-prolog swi-prolog-doc yad zenity &>/dev/null; then
echo "NOTICE: You are about to REMOVE the \"education-development git swi-prolog swi-prolog-doc\" package."
echo ""
echo "If you wish to proceed, press Y, then press ENTER, at which point"
echo "you will be prompted for your password to uninstall the package."
echo "If not, press N, then ENTER to return to the main screen."
read -n 1 -r
if [[ $REPLY =~ ^[Yy]$ ]]
then
sudo apt purge education-development git kdialog qtcreator swi-prolog swi-prolog-doc yad zenity -y && sudo apt autoremove
else
exec $0
fi
pause
else
clear
echo "This option will install Devuan's \"education-development\" package plus other related apps that"
echo "sound useful. Once installed, these apps will appear in the main menu's \"Education\" category."
echo ""
echo "Arduino: AVR development board IDE from Arduino CC"
echo "AutoConf: Automatic configure script builder"
echo "Bluefish: Advanced GTK+ text editor for web & software development"
echo "Build Essential: Required for building Devuan packages (*.deb files)"
echo "BWBASIC: Bywater's interpreter for the BASIC programming language"
echo "Code::Blocks: Cross-platform Integrated Development Environment (IDE)"
echo "Colobot: An engaging educational game that teaches programming"
echo "DDD: Data Display Debugger, a graphical debugger frontend"
echo "FP Tools: The Free Pascal Compiler suite, for learning Pascal"
echo "Gambas: Dev. suite with a BASIC interpreter + object extensions"
echo "Geany: A small, lightweight, and powerful IDE"
echo "Git: Popular version control system designed for very large projects"
echo "GNOME Builder: An IDE for writing software that uses the GTK toolkit"
echo "Idle3: An IDE (Integrated Development Environment) for Python"
echo "KDevelop: An IDE for C/C++ and other languages"
echo "KDialog: Lets you display Qt-based dialog boxes from shell scripts"
echo "KTurtle: An educational programming tool which uses TurtleScript"
echo "Lazarus: An IDE for creating applications with FreePascal"
echo "Python3 EasyGUI: Tool for very simple & easy GUI programming in Python3"
echo "QtCreator: An IDE for writing software that uses the Qt toolkit"
echo "SQLite: A C library that implements an SQL database engine"
echo "Squeak-VM: A complete implementation of the Smalltalk language"
echo "Subversion: A centralised VCS, central to open-source collaboration"
echo "SWI Prolog: A fast and powerful Prolog compiler"
echo "Thonny: A simple IDE to help one learn Python"
echo "Umbrello: A Unified Modelling Language diagram editor for KDE"
echo "YAD: Based on Zenity (next line) but w/ more options & dialog types"
echo "Zenity: Lets you display GTK-based dialog boxes from shell scripts"
echo ""
echo "Please enter your password to continue:"
sudo apt update && sudo apt install education-development git kdialog qtcreator swi-prolog swi-prolog-doc yad zenity -y
pause
fi
}
# installs electronic engineering education pack
eight(){
if dpkg -s education-electronics electric electronics-all fritzing gerbv gtkwave kicad kicad-doc-en pcb-rnd simulide &>/dev/null; then
echo "NOTICE: You are about to REMOVE the \"education-electronics electric electronics-all fritzing gtkwave kicad kicad-doc-en pcb-rnd xcircuit\" package."
echo ""
echo "If you wish to proceed, press Y, then press ENTER, at which point"
echo "you will be prompted for your password to uninstall the package."
echo "If not, press N, then ENTER to return to the main screen."
read -n 1 -r
if [[ $REPLY =~ ^[Yy]$ ]]
then
sudo apt purge education-electronics electric electronics-all fritzing gerbv gtkwave kicad kicad-doc-en pcb-rnd simulide -y && sudo apt autoremove
else
exec $0
fi
pause
else
clear
echo "This option will install Devuan's \"education-electronics\" package plus other related apps that"
echo "sound useful. Once installed, these apps will appear in the main menu's \"Education\" category."
echo ""
echo "Electric: A CAD application that can handle many forms of circuit design"
echo "Electronics-All: Adds packages for CAD, gadgets, measurements, and more"
echo "Fritzing: Easy-to-use electronic circuitry and schematic design software"
echo "GNUCAP: The GNU Circuit Analysis Package circuit simulator"
echo "GPSim: A complete software simulator for Microchip PIC microcontrollers"
echo "GTKWave: A viewer for VCD files created by digital circuit simulators"
echo "KiCAD: A suite of programs for the creation of printed circuit boards"
echo "Oregano: An app for schematic capture & printing of electronic circuits"
echo "PCB-RND: An interactive pcb (printed circuit board) editor"
echo "Simulide: Real-time electronic circuit simulator"
echo "XOScope: An oscilloscope using sound input and/or COMEDI hardware"
echo ""
echo "Please enter your password to continue:"
sudo apt update && sudo apt install education-electronics electric electronics-all fritzing gerbv gtkwave kicad kicad-doc-en pcb-rnd simulide -y
pause
fi
}
# installs geography education pack
nine(){
if dpkg -s education-geography gmt gpscorrelate gpscorrelate-gui grass ooohg openscenegraph qgis viking &>/dev/null; then
echo "NOTICE: You are about to REMOVE the \"education-geography gmt gpscorrelate gpscorrelate-gui grass openscenegraph qgis viking\" package."
echo ""
echo "If you wish to proceed, press Y, then press ENTER, at which point"
echo "you will be prompted for your password to uninstall the package."
echo "If not, press N, then ENTER to return to the main screen."
read -n 1 -r
if [[ $REPLY =~ ^[Yy]$ ]]
then
sudo apt purge education-geography gmt gpscorrelate gpscorrelate-gui grass ooohg openscenegraph qgis viking -y && sudo apt autoremove
else
exec $0
fi
pause
else
clear
echo "This option will install Devuan's \"education-geography\" package plus other related apps that"
echo "sound useful. Once installed, these apps will appear in the main menu's \"Education\" category."
echo ""
echo "GMT: Tools that allow users to manipulate (x,y) and (x,y,z) data sets"
echo "GPSCorrelate: Fills EXIF fields of digital photos related to GPS information"
echo "GRASS: Geographic Resources Analysis Support System (GRASS GIS)"
echo "KGeography: An aid for learning about world geography"
echo "Marble: A generic geographical map widget and framework"
echo "OOOHG: Set of free maps that can be used for documents in LibreOffice"
echo "OpenSceneGraph: A graphics toolkit to create games, VR, flight simulators, etc."
echo "QGIS: Manages, analyzes, and shows databases of geographic information"
echo "Viking: A GPS data editor, analyzer and viewer"
echo ""
echo "Please enter your password to continue:"
sudo apt update && sudo apt install education-geography gmt gpscorrelate gpscorrelate-gui grass ooohg openscenegraph qgis viking -y
pause
fi
}
# installs language education pack
ten(){
if dpkg -s education-language brazilian-conjugate collatinus verbiste-gnome &>/dev/null; then
echo "NOTICE: You are about to REMOVE the \"education-language brazilian-conjugate collatinus verbiste-gnome\" package."
echo ""
echo "If you wish to proceed, press Y, then press ENTER, at which point"
echo "you will be prompted for your password to uninstall the package."
echo "If not, press N, then ENTER to return to the main screen."
read -n 1 -r
if [[ $REPLY =~ ^[Yy]$ ]]
then
sudo apt purge education-language brazilian-conjugate collatinus verbiste-gnome -y && sudo apt autoremove
else
exec $0
fi
pause
else
clear
echo "This option will install Devuan's \"education-language\" package plus other related apps that"
echo "sound useful. Once installed, these apps will appear in the main menu's \"Education\" category."
echo ""
echo "Brazilian Conjugate: A Brazilian Portuguese verb conjugator"
echo "Collatinus: Can extract words and make a Latin language lexicon"
echo "Dict: A client that queries an online dictionary"
echo "Festival: A general multi-lingual speech synthesis system"
echo "Kanagram: Game with scrambled words. To win, unscramble the word"
echo "KHangman: A Linux version of the word game Hangman"
echo "Kiten: A collection of Japanese reference tools and study aids"
echo "Klavaro: A simple tutor to teach correct typing in any language"
echo "KLettres: Tool that teaches the letters of foreign alphabets"
echo "KTouch: An aid for learning how to type with speed and accuracy"
echo "KWordQuiz: General purpose flashcard app for vocabulary training"
echo "Parley: A tool to train vocabulary of foreign languages"
echo "Trans-DE-EN: German-English translation dictionary"
echo "Typespeed: Zap words on the screen by typing them correctly"
echo "Verbiste: A tool for learning French and Italian verbs"
echo "WordNet: An electronic lexical database of the English language"
echo ""
echo "Please enter your password to continue:"
sudo apt update && sudo apt install education-language brazilian-conjugate collatinus verbiste-gnome -y
pause
fi
}
# installs educational logic games
eleven(){
if dpkg -s education-logic-games &>/dev/null; then
echo "NOTICE: You are about to REMOVE the \"education-logic-games\" package."
echo ""
echo "If you wish to proceed, press Y, then press ENTER, at which point"
echo "you will be prompted for your password to uninstall the package."
echo "If not, press N, then ENTER to return to the main screen."
read -n 1 -r
if [[ $REPLY =~ ^[Yy]$ ]]
then
sudo apt purge education-logic-games -y && sudo apt autoremove
else
exec $0
fi
pause
else
clear
echo "This option will install Devuan's 'education-logic-games' package, which pulls in the following applications:"
echo ""
echo "Atomix: A game where one builds molecules out of separate atoms"
echo "Blinken: A Linux version of Simon (memory game), introduced in 1978"
echo "CGoban: A computerized board on which you can play the game of Go"
echo "Einstein: A remake of the DOS game Sherlock, inspired by Einstein's puzzle"
echo "GLPeces: Chinese game where one arranges figures with 7 polygonal pieces"
echo "GNUChess: Plays a game of chess, either against the user or against itself"
echo "GNU Go: The game of Go, with a text-only user interface"
echo "LMemory: Children's game based on the 'memory' card game"
echo "Ri-Li: Drive a train across levels and collect all the coaches to win"
echo "XBoard: A chessboard that can be a user interface for chess programs"
echo ""
echo "Please enter your password to continue:"
sudo apt update && sudo apt install education-logic-games -y
pause
fi
}
# installs mathematics education pack
twelve(){
if dpkg -s education-mathematics euler gretl mathomatic octave pari-gp rkward scilab xaos yacas &>/dev/null; then
echo "NOTICE: You are about to REMOVE the \"education-mathematics euler gretl mathomatic octave pari-gp rkward scilab speedcrunch xaos yacas\" package."
echo ""
echo "If you wish to proceed, press Y, then press ENTER, at which point"
echo "you will be prompted for your password to uninstall the package."
echo "If not, press N, then ENTER to return to the main screen."
read -n 1 -r
if [[ $REPLY =~ ^[Yy]$ ]]
then
sudo apt purge education-mathematics euler gretl mathomatic octave pari-gp rkward scilab xaos yacas -y && sudo apt autoremove
else
exec $0
fi
pause
else
clear
echo "This option will install Devuan's \"education-mathematics\" package plus other related apps that"
echo "sound useful. Once installed, these apps will appear in the main menu's \"Education\" category."
echo ""
echo "AlgoBox: An algorithm creation and execution helper (in French)"
echo "Cantor: Lets you use your favorite mathematical applications"
echo "Carmetal: Geometry software with a very ergonomic user interface"
echo "Euler: A powerful numerical lab with a programming language"
echo "GeoGebra: Tool for creating points, vectors, segments, & more"
echo "Geomview: Geometry software suited for math research and education"
echo "GRETL: An econometric analysis tool"
echo "Gnuplot: Command-line driven data and function plotting utility"
echo "Grace: A point-and-click tool for drawing X-Y plots"
echo "GraphMonkey: A graphic calculator that can draw curves"
echo "JFractionLab: A tool for math students who are learning fractions"
echo "Jupyter Notebook: App for sharing docs with live code, equations, & more"
echo "KAlgebra: Algebraic graphing calculator that can do 3-D graphing"
echo "KBruch: An aid for learning how to calculate with fractions"
echo "Kig: A geometry tool for learning math figures and concepts"
echo "KMPlot: A mathematical plotter that can plot multiple functions"
echo "Mathomatic: A VERY powerful algebra & calculus tool"
echo "Octave: High-level language designed for numerical computations"
echo "PARI/GP: An algebra tool for fast computations in number theory"
echo "RKWard: A frontend for R, a stats computation & graphics tool"
echo "Rocs: A Graph Theory IDE for demonstrating graph algorithms"
echo "Scilab: Scientific software package for numerical computations"
echo "WXMaxima: A graphical tool for the computer algebra system Maxima"
echo "XaoS: Allows you to zoom and pan around a fractal in real time"
echo "XMAbacus: A digital implementation of the original abacus"
echo "Yacas: A small and highly flexible computer algebra language"
echo ""
echo "Please enter your password to continue:"
sudo apt update && sudo apt install education-mathematics euler gretl mathomatic octave pari-gp rkward scilab xaos yacas -y
pause
fi
}
# installs the miscellaneous education pack
thirteen(){
if dpkg -s education-misc jclic &>/dev/null; then
echo "NOTICE: You are about to REMOVE the \"education-misc freeplane jclic\" package."
echo ""
echo "If you wish to proceed, press Y, then press ENTER, at which point"
echo "you will be prompted for your password to uninstall the package."
echo "If not, press N, then ENTER to return to the main screen."
read -n 1 -r
if [[ $REPLY =~ ^[Yy]$ ]]
then
sudo apt purge education-misc jclic -y && sudo apt autoremove
else
exec $0
fi
pause
else
clear
echo "This option will install Devuan's \"education-misc\" package plus other related apps that"
echo "sound useful. Once installed, these apps will appear in the main menu's \"Education\" category."
echo ""
echo "Basket: A multi-purpose note-taking application"
echo "Colobot: An engaging educational game that teaches programming"
echo "JClic: Tool for the development & use of multimedia in education"
echo "Laby: Teaches one how to program with ants and spider webs"
echo "Planner: Project Mgmt. app with Gantt charts, resource allocation, & more"
echo "Scratch: A fun and easy to use programming environment for ages 8 and up"
echo "Thonny: Simple Python IDE with features useful for learning programming"
echo "TiLP2: A TI hand-helds <-> PC communication program for Linux"
echo "Vym: Mind mapping app, good for organizing thoughts & structure work"
echo ""
echo "Please enter your password to continue:"
sudo apt update && sudo apt install education-misc jclic -y
pause
fi
}
# installs music education pack
fourteen(){
if dpkg -s education-music festival lilypond &>/dev/null; then
echo "NOTICE: You are about to REMOVE the \"education-music\", \"festival\","
echo "and \"lilypond\" packages."
echo ""
echo "If you wish to proceed, press Y, then press ENTER, at which point"
echo "you will be prompted for your password to uninstall the package."
echo "If not, press N, then ENTER to return to the main screen."
read -n 1 -r
if [[ $REPLY =~ ^[Yy]$ ]]
then
sudo apt purge education-music festival lilypond -y && sudo apt autoremove
else
exec $0
fi
pause
else
clear
echo "This option will install Devuan's \"education-music\" package plus other related apps that"
echo "sound useful. Once installed, these apps will appear in the main menu's \"Education\" category."
echo ""
echo "Audacious: An audio player which supports lots of formats (comes with F3OS)"
echo "Audacity: Multi-track audio editor supporting a variety of audio formats"
echo "Denemo: Notation app for writing sheet music typeset with LilyPond"
echo "Festival: General multi-lingual speech synthesis system"
echo "Fluidsynth: Real-time MIDI synth based on the sf2 and sf3 soundfont specs"
echo "GTick: An acoustical and graphical metronome application"
echo "Hydrogen: Drum machine with a pattern-based drum programming interface"
echo "LilyPond: A music typesetter and automated engraving system"
echo "Lingot: Accurate, easy to use, & highly configurable instrument tuner"
echo "LMMS: Free alternative to FruityLoops, Cubase & Logic for making music"
echo "MCP Plugins: LADSPA plugins designed for Alsa Modular Synth"
echo "NtEd: WYSIWYG music notation editor"
echo "PianoBooster: A MIDI file player/game that teaches you how to play the piano"
echo "QSynth: A fluidsynth MIDI sound synthesiser front-end"
echo "Rosegarden: A multi-track music editor and MIDI/audio sequencer"
echo "Solfege: Ear training tool to teach intervals, chords, scales and rhythms"
echo "SWH Plugins: LADSPA plugins for musical effects (overdrive, chorus, etc.)"
echo "TerminatorX: Lets you add the hiphop DJ vinyl scratch effect to music"
echo "TimGM6mb: A complete MIDI SoundFont, originally came with MuseScore 1.3"
echo "TuxGuitar: A multitrack guitar tablature editor and player"
echo ""
echo -e "\e[1;33mNOTE\e[0m: While older versions of MuseScore are still available in the Devuan software"
echo "repositories, current versions are available only as AppImages from the MuseScore"
echo -e "website, at \e[1;34mwww.musescore.org\e[0m. By default, when downloaded, the AppImage file will"
echo "be in your \"Downloads\" folder. Before you can run it, you must right-click it, click"
echo "\"Properties...\", click the \"Permissions\" tab, and then make sure that \"Allow this"
echo "file to run as a program\" is CHECKED. Then, right-click any blank area of that folder"
echo "and click \"Open Terminal Here\". At the prompt, type \"./Muse\" and press TAB, which"
echo "automatically fills in the rest of the filename, and press ENTER to run MuseScore."
echo ""
echo "Please enter your password to continue:"
sudo apt update && sudo apt install education-music festival lilypond -y
pause
fi
}
# installs physics education pack
fifteen(){
if dpkg -s education-physics python3-pyode xoscope &>/dev/null; then
echo "NOTICE: You are about to REMOVE the \"education-physics etoys python3-pyode xoscope\" package."
echo ""
echo "If you wish to proceed, press Y, then press ENTER, at which point"
echo "you will be prompted for your password to uninstall the package."
echo "If not, press N, then ENTER to return to the main screen."
read -n 1 -r
if [[ $REPLY =~ ^[Yy]$ ]]
then
sudo apt purge education-physics python3-pyode xoscope -y && sudo apt autoremove
else
exec $0
fi
pause
else
clear
echo "This option will install Devuan's \"education-physics\" package plus other related apps that"
echo "sound useful. Once installed, these apps will appear in the main menu's \"Education\" category."
echo ""
echo "Jupyter Notebook: App to share documents with live code, equations, & more"
echo "KTurtle: An educational programming app which uses TurtleScript"
echo "Lightspeed: Shows the effects of relativity on moving objects"
echo "Planets: A tool for playing with simulations of planetary systems"
echo "Step: A tool to not only learn but also feel how physics works"
echo "XOScope: An oscilloscope using sound input and/or COMEDI hardware"
echo ""
echo "Please enter your password to continue:"
sudo apt update && sudo apt install education-physics python3-pyode xoscope -y
pause
fi
}
updatef3os(){
clear
echo "This script will update your system's software."
echo
echo "Please enter your password to continue:"
sudo apt update && sudo apt upgrade -y
pause
}
quit() {
kill -9 $PPID
}
# function to display menus
show_menus() {
clear
echo "~~~~~~~~~~~~~~~~~~~~~~~~~"
echo " F3OS Educational Extras"
echo "~~~~~~~~~~~~~~~~~~~~~~~~~"
echo "Welcome to the F3OS Educational Extras package installation tool. Here, we have made it easy to install a series of educational tools"
echo "packaged by Devuan, which Devuan is based on. Choices A through D install packages by grade, while choices E through O install packages"
echo "by subject, for use in public or private schools or by homeschooling parents new to Linux in general to make it easy to install educational"
echo "software that children will enjoy using."
echo ""
echo "Packages NOT installed are shown in your terminal's normal text color. Selecting such a package will install it."
echo -e "Packages that ARE installed are shown in \e[1;33mbold yellow print\e[0m. Selecting such a package will UNINSTALL it."
echo ""
echo "Use keys A-O to select packages to install, press U to update your system, or press X to exit this script."
echo ""
if dpkg -s education-preschool &>/dev/null; then
echo -e "\e[1;33mA) Remove Devuan Preschool Education Pack\e[0m"
else
echo "A) Install Devuan Preschool Education Pack"
fi
if dpkg -s education-primaryschool &>/dev/null; then
echo -e "\e[1;33mB) Remove Devuan Elementary School Education Pack\e[0m"
else
echo "B) Install Devuan Elementary School Education Pack"
fi
if dpkg -s education-secondaryschool &>/dev/null; then
echo -e "\e[1;33mC) Remove Devuan Middle School Education Pack\e[0m"
else
echo "C) Install Devuan Middle School Education Pack"
fi
if dpkg -s education-highschool &>/dev/null; then
echo -e "\e[1;33mD) Remove Devuan High School Education Pack\e[0m"
else
echo "D) Install Devuan High School Education Pack"
fi
echo ""
if dpkg -s education-astronomy astronomical-almanac sunclock &>/dev/null; then
echo -e "\e[1;33mE) Remove Devuan Astronomy Education Pack\e[0m"
else
echo "E) Install Devuan Astronomy Education Pack"
fi
if dpkg -s education-chemistry rasmol &>/dev/null; then
echo -e "\e[1;33mF) Remove Devuan Chemistry Education Pack\e[0m"
else
echo "F) Install Devuan Chemistry Education Pack"
fi
if dpkg -s education-development git kdialog qtcreator swi-prolog swi-prolog-doc yad zenity &>/dev/null; then
echo -e "\e[1;33mG) Remove Devuan Programming / Development Education Pack\e[0m"
else
echo "G) Install Devuan Programming / Development Education Pack"
fi
if dpkg -s education-electronics electric electronics-all fritzing gtkwave kicad kicad-doc-en pcb-rnd xcircuit &>/dev/null; then
echo -e "\e[1;33mH) Remove Devuan Electronic Engineering Education Pack\e[0m"
else
echo "H) Install Devuan Electronic Engineering Education Pack"
fi
if dpkg -s education-geography gmt gpscorrelate gpscorrelate-gui grass ooohg openscenegraph qgis viking &>/dev/null; then
echo -e "\e[1;33mI) Remove Devuan Geography Education Pack\e[0m"
else
echo "I) Install Devuan Geography Education Pack"
fi
if dpkg -s education-language brazilian-conjugate collatinus verbiste-gnome &>/dev/null; then
echo -e "\e[1;33mJ) Remove Devuan Language Education Pack\e[0m"
else
echo "J) Install Devuan Language Education Pack"
fi
if dpkg -s education-logic-games &>/dev/null; then
echo -e "\e[1;33mK) Remove Devuan Educational Logic Games\e[0m"
else
echo "K) Install Devuan Educational Logic Games"
fi
if dpkg -s education-mathematics euler gretl mathomatic octave pari-gp rkward scilab xaos yacas &>/dev/null; then
echo -e "\e[1;33mL) Remove Devuan Mathematics Education Pack\e[0m"
else
echo "L) Install Devuan Mathematics Education Pack"
fi
if dpkg -s education-misc jclic &>/dev/null; then
echo -e "\e[1;33mM) Remove Devuan Miscellaneous Education Pack\e[0m"
else
echo "M) Install Devuan Miscellaneous Education Pack"
fi
if dpkg -s education-music festival lilypond &>/dev/null; then
echo -e "\e[1;33mN) Remove Devuan Music Education Pack\e[0m"
else
echo "N) Install Devuan Music Education Pack"
fi
if dpkg -s education-physics python3-pyode xoscope &>/dev/null; then
echo -e "\e[1;33mO) Remove Devuan Physics Education Pack\e[0m"
else
echo "O) Install Devuan Physics Education Pack"
fi
echo
echo "U) Update your F3OS installation"
echo
echo -e "\e[1;32mX) Exit this menu and return to your desktop\e[0m"
echo
}
# read input from the keyboard and take a action
# invoke the one() when the user selects A from the menu option.
# invoke the two() when the user selects B from the menu option.
# and so on and so on ad nauseum...
# Exit when user the user selects X from the menu option.
read_options(){
local choice
read -p "Enter choice [A - O], U to update, or X to exit: " choice
case $choice in
A) one ;;
a) one ;;
B) two ;;
b) two ;;
C) three ;;
c) three ;;
D) four ;;
d) four ;;
E) five ;;
e) five ;;
F) six ;;
f) six ;;
G) seven ;;
g) seven ;;
H) eight ;;
h) eight ;;
I) nine ;;
i) nine ;;
J) ten ;;
j) ten ;;
K) eleven ;;
k) eleven ;;
L) twelve ;;
l) twelve ;;
M) thirteen ;;
m) thirteen ;;
N) fourteen ;;
n) fourteen ;;
O) fifteen ;;
o) fifteen ;;
U) updatef3os ;;
u) updatef3os ;;
X) quit ;;
x) quit ;;
*) echo -e "\e[1;37;41m Not valid. Please try again. \e[0m " && sleep 3
esac
}
# ----------------------------------------------
# Step #3: Trap CTRL+C, CTRL+Z and quit singles
# ----------------------------------------------
trap '' SIGINT SIGQUIT SIGTSTP
# -----------------------------------
# Step #4: Main logic - infinite loop
# ------------------------------------
while true
do
show_menus
read_options
done