Version: 1.2.1
π€ Simple & efficient RAMDisk manager for Linux β with CLI and modern GUI
πΎ Creates volatile in-RAM filesystems, enables safe data persistence via sync with
persistent storage, and features one-click GUI control.
- π§ RAM-based storage β Create high-speed, volatile
tmpfsdisks of configurable size - π Bi-directional sync β Automatic and manual sync between RAM disk and persistent
RAMDisk_data/folder - π₯ Dual interfaces β Full CLI for scripting & terminal workflows + modern GUI (built with PySide6) for daily use
- π Secure password handling β Uses
pkexecfor privileged operations β no terminal password input needed - β± Auto-sync scheduling β Configure periodic sync intervals in GUI (CLI requires manual triggers)
- π Real-time status β GUI logs mount state, sync history, and warnings
| Component | Requirement |
|---|---|
| OS | Linux (tested on Ubuntu, Fedora, Arch) |
| Python | β₯ 3.8 (python3 --version) |
| Runtime | rsync, mount, umount (standard on all major distros) |
| GUI | polkit + pkexec (for secure sudo-equivalent auth) *Optional: zenity/yad for fallback auth |
| GUI lib | PySide6 (pip install PySide6) |
π‘ Note:
pkexecis required for the GUI's mount/umount buttons. If missing, the app will fall back to warning the user (CLI still works withsudo).
git clone https://github.com/d3xt3rr0r/ramdisk-manager.git
cd ramdisk-managerchmod +x run.shpip install --user PySide6First run via ./run.sh and wrapper will be installed to ~/.local/bin
| Command | Description |
|---|---|
ramdisk-manager start [sizeGB] |
Mount RAM disk of given size (default: from config.json) |
ramdisk-manager stop |
Sync RAM β persistent store, then unmount & delete |
ramdisk-manager sync |
One-time RAM β persistent sync (CLI-only) |
ramdisk-manager gui |
Launch GUI (requires PySide6) |
β Root permissions are requested via GUI dialog or terminal (via
pkexec/sudo).π All program files should be stored in
~/.config/ramdisk-managerπ Data paths:
- RAM disk:
~/RAMDisk/- Persistent backup:
~/RAMDisk_data/
Launch with:
ramdisk-manager gui- βΉοΈ Status: Shows mount state (NOT MOUNTED / MOUNTED)
- π² Mount RAMDisk: Set size in GB (1-1024) & click "Start"
- βΉ Unmount: Click "Stop" (triggers sync first)
- π Sync Now: For one-time manual sync, click "Sync"
- β± Auto-sync interval: Minutes (1-1440)
- π Config editor: Adjust defaults (size, interval)
- π Log Panel: Real-time terminal output
~/.config/ramdisk-manager/
βββ ramdisk.py # Core CLI logic (mount/umount/sync)
βββ gui.py # PySide6 GUI (configurable widgets + logs)
βββ run.sh # Bash wrapper (imports/invokes ramdisk.py)
βββ config.json # Sample config (auto-generated on first run)
βββ icon.png # Program icon
βββ README.md # This file
βββ LICENSE # MIT License
| Issue | Solution |
|---|---|
pkexec not found |
Install polkit (sudo apt install polkit, sudo pacman -S polkit, etc.) |
| GUI fails to start | Check: python3 -m PySide6 β install PySide6 if missing |
Sync fails with rsync error |
Ensure rsync installed: sudo apt install rsync |
| Already mounted | CLI prints warning; GUI shows current state & disables mount button |
Distributed under the MIT License.
Β© 2026 d3xt3rr0r
Happy RAM-hacking! π§ πΎπ
Feedback, PRs & issues welcome!