This repository provides a set of scripts to join a SparkyLinux machine to a Windows Server Active Directory (AD) domain, plus a comprehensive service manager with multilingual support for small business environments. It automates the process of installing prerequisites, configuring system settings, joining the domain, and managing system services with time-based sound notifications.
- Automated AD Integration: The
sparky-ad-clientscript automates the entire process of joining a SparkyLinux machine to an AD domain. - Comprehensive Prerequisites Installation: The script installs all the necessary packages for full functionality as a client station.
- System Configuration: The script configures network settings, time synchronization, and various system services for seamless AD integration.
- User-Friendly: The script interactively prompts the user for the required information, making the setup process easy and straightforward.
- Automated Cleanup: The
sparky-ad-leavescript provides a simple way to disconnect the machine from the AD domain and revert all the configuration changes. - Verification Tests: The
sparky-client-testsscript allows you to verify the successful integration of the machine with the AD domain.
- Multi-Language Support: Full support for 40+ Debian-supported languages including English, Spanish, French, German, Portuguese, Italian, Russian, Chinese, Japanese, Arabic, and many more.
- Dual Interface: Both Text User Interface (TUI) and Graphical User Interface (GUI) with auto-detection based on environment.
- Service Management: Start, stop, restart, enable, and disable system services with an intuitive interface.
- Service Monitoring: Track and monitor important services for your business operations.
- Time-Based Sound Notifications: Schedule sounds to play at specific times when services are running (e.g., business hour notifications, shift changes, reminders).
- Desktop Environment Agnostic: Works with any Linux desktop environment (KDE, GNOME, XFCE, etc.) or terminal.
- Easy Configuration: User-friendly dialogs for managing all settings.
The following dependencies are required to run the scripts:
aptbashcoreutilsdialogdpkggawkgrephostnameiputils-pingnanosedsudo
To install the scripts, run the following command with sudo privileges:
sudo ./install.shTo uninstall the scripts, run the following command with sudo privileges:
sudo ./install.sh uninstallTo join a SparkyLinux machine to an AD domain, run the sparky-ad-client script:
sudo ./sparky-ad-clientThe script will guide you through the setup process by prompting for the required information.
To disconnect a SparkyLinux machine from an AD domain, run the sparky-ad-leave script:
sudo ./sparky-ad-leaveThe script will remove the machine from the domain and revert all the configuration changes.
To verify the successful integration of the machine with the AD domain, run the sparky-client-tests script:
sudo ./sparky-client-testsThe script will perform a series of tests to ensure that the machine can correctly retrieve user information and that AD users can log in and function as expected.
The SparkyOS Service Manager is a powerful tool designed for small businesses to manage system services and schedule time-based sound notifications.
To install the Service Manager, run:
sudo ./install-service-manager.shTo uninstall:
sudo ./install-service-manager.sh uninstallThe Service Manager can be launched in multiple ways:
From Command Line:
# Auto-detect interface (GUI or TUI)
sudo sparky-service-manager
# Force GUI mode
sudo sparky-service-manager --gui
# Force TUI mode
sudo sparky-service-manager --tuiFrom Application Menu: Search for "Sparky Service Manager" in your desktop environment's application menu.
- View all system services
- View running services only
- Start, stop, or restart services
- Enable or disable services at boot
- View detailed service status
- Add services to a monitoring list
- Track important services for your business
- Quick overview of monitored service states
Schedule sounds to play at specific times when services are active:
- Business Hours: Play a tune at opening/closing time
- Shift Changes: Notify when shift times occur
- Reminders: Custom reminders based on service availability
- Custom Schedules: Configure any time pattern (specific days, all days, weekends, etc.)
Example use cases for small businesses:
- Play a sound at 9 AM when the web server is running (business open)
- Play a different sound at 5 PM (business close)
- Reminder sounds for backup services running
- Notification when critical services start or stop
The Service Manager automatically detects your system language and supports:
European Languages: English, Spanish, French, German, Portuguese, Italian, Dutch, Swedish, Norwegian, Danish, Finnish, Polish, Czech, Slovak, Romanian, Hungarian, Croatian, Serbian, Slovenian, Bulgarian, Greek, Estonian, Latvian, Lithuanian
Asian Languages: Chinese, Japanese, Korean, Vietnamese, Indonesian
Middle Eastern Languages: Arabic, Hebrew, Turkish
Other: Basque, Catalan, Galician, Ukrainian, Russian
After installation, configuration files are located in:
/etc/sparky-service-manager/services.conf- Monitored services/etc/sparky-service-manager/tunes.conf- Scheduled sound notifications/etc/sparky-service-manager/sounds/- Custom sound files directory
To add your own sound files:
- Copy WAV, OGG, or MP3 files to
/etc/sparky-service-manager/sounds/ - Launch the Service Manager
- Select "Tune Scheduler" → "Add Tune Schedule"
- Your custom sounds will appear in the sound selection list
The Service Manager requires:
- For TUI mode:
dialogorwhiptail(usually pre-installed) - For GUI mode:
yadorzenity - For sound playback:
pulseaudio-utilsoralsa-utils - For scheduling:
cron
All dependencies are automatically installed by the install script.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.