Git Product home page Git Product logo

pi-power-tools's Introduction

Hi there 👋

I'm just a guy who believes everyone should use a Raspberry Pi as their daily, desktop PC. Few developers share this dream and as a result, the desktop experience of Raspberry Pi OS is lacking.
Rather than complain to the Raspberry Pi developers, I became one myself.

When I was first given a Raspberry Pi 3 in 2018, I knew nothing about Linux or programming. Raspbian was harder to use back then, and I encountered many problems. Slowly, through hundreds of Google searches, I began making a list of useful terminal commands to do specific things: copy a file, create a keyboard shortcut, install something, search for a file, make a backup, close an unresponsive program, or recover from a frozen screen. Eventually, my list of commands was getting very long, and that's when I discovered shell scripts - a special text file that runs a list of terminal commands. How useful!

My first major shell-script was vdesktop - basically virtualbox but it runs on a Raspberry Pi. This command-line tool was the first RPi-compatible application capable of interacting with the virtual machine's graphical desktop session.
Next came Pi Power Tools. This application is a suite of tools for creating and modifying Raspberry Pi OS disk-images and SD cards. This was the first application I made with a GUI interface.
Pi Power Tools never became as popular as I had expected it to, so I took a step back and questioned what people really wanted. Did they want a utility to create & manage operating systems with virtual machines? Apparently not.
Then what did they want? Desktop software. In hindsight, I wonder how I missed it before - after all there are thousands (if not millions) of Raspberry Pi tutorials! The vast majority of these tutorials explain how to install 3rd-party software on your Pi. Unfortunately, most of these tutorials don't work anymore because they were written in the Raspbian Stretch era.
I thought to myself, "If only someone maintained a centralized collection of tutorials? What if those tutorials had a 'Run script' button? And what if you could easily undo the changes it made with an 'Uninstall' button?"
Thus, Pi-Apps was born.
In early 2020 it was a small application that I never imagined would see widespread use. But slowly, word spread through the community that there is finally a convenient alternative to tutorials. Soon it was added to Twister OS and not long after, Pi-Apps was featured by all the large RPi YouTubers and numerous tech publications.
Today, Pi-Apps has over 200 apps and has been downloaded several million times, though it's hard to know how many of those are unique users and how many are just installing Pi-Apps on a clean reinstall.

It turns out Pi-Apps was just the beginning. Over time I found additional software niches that nothing else was filling: (in no particular order)

  • YouTubuddy - The private, lightweight YouTube search engine & player with the best hardware-acceleration available.
  • CloudBuddy - The ultimate way to manage your cloud storage on any Linux computer. This is a bash-powered GUI frontend for rclone, and includes built-in support for Google Drive, Dropbox, and Microsoft Onedrive. It's vastly more convenient than any other web interface or tool available elsewhere.
  • AndroidBuddy - Manage your Android phone from a Linux computer. Allows complete screen control, file sharing, internet sharing, and much more. This packs more useful features in a 300-line shell script than any of the existing alternatives, most of which are abandoned.
  • Update Buddy - a sleek utility to run on startup. It runs sudo apt update in the background, and if any updates are found, it displays a non-intrusive notification, asking permission to upgrade.
  • Zoom - The popular video-chatting client had no easy way to install properly on Raspberry Pi. One other installation tool existed before mine, but that one did not install pulseaudio - a necessary utility if you wanted sound! Additionally, my version of the Zoom installer has Google account sign-in working.
  • WoR-flasher - World's first Linux-compatible tool to install Windows 10 or 11 on a Raspberry Pi SD card. Before this tool existed, you had to use a Windows PC to install Windows 10 on a Pi's SD card, but with this tool, you now can use a Pi to do it all.
  • Windows Screensavers - An efficient GUI screensaver manager, preloaded with fourteen classic Windows screensavers that run smoothly on the RPi using Wine.
  • Windows 10 Theme - A complete transformation theme for Raspberry Pi OS, designed to look like Windows 10.
  • Chromium Widevine - Watch Netflix and play other DRM-protected web-videos using the default Chromium. When Chromium 84 was released, it broke the previous DRM solution. I was the first to get it working, though there are plenty of copycats now.
  • Downgrade Chromium - The latest and greatest web browsers are not necessarily the best, or the fastest. This application allows you to easily switch versions of Chromium Browser.
  • Twister OS Updater - Twister OS's previous python-powered updating program was a nightmare to understand and maintain. I rewrote it in bash and added some additional features, and it has proven to be far better than the previous patching program.
  • UltiFlash - the world's most advanced and flexible imaging tool. This, by far, is the longest and most complicated bash script I've ever written, and it's not completely finished yet.
  • Scratch 2 - When Adobe Flash Player was deprecated, Scratch 2 was removed from all RPiOS systems through an apt update. This annoyed many people, so I found a way to bring it back and make it work again.
  • Finally, I've written, or at least reviewed, all of the app-installers on Pi-Apps.

pi-power-tools's People

Contributors

botspot avatar cycool29 avatar mtlynch avatar noozabooz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pi-power-tools's Issues

Support a CLI-only mode

I'd love to be able to drive PPT from the command-line. Specifically, I'm interested in a scenario like the following:

ppt-boot --img my-target.img --script my-script.sh

Where PPT boots my-target.img like a VM, executes my-script.sh in a bash shell, shuts down, and saves the resulting .img file.

How difficult would this be?

No shortcut made in Accessories on install

On Raspbian Buster using an RPI 4B, I ran the install command:

wget -O - https://raw.githubusercontent.com/Botspot/Pi-Power-Tools/master/update | bash

It went on to install and download things - I didn't observe any error messages other than it couldn't find yad, but I hit the okay button to go ahead and install that.

Following install, no shortcut was made in the Accessories menu, or anywhere else. I thought maybe I needed to reboot the system, but that didn't make a difference. How do I fix this?

Image-utils distribution issue

RonR has a problem with outdated versions of image-utils being shipped with Pi-Power-Tools.

Quoting RonR himself:

You should let users know that you are distributing outdated and modified versions of my Image File Utilities in opposition to my request and against my wishes.

Kali Linux

Hi, could you please add Kali Linux to Pi Power Tools? Is it possible to add both without the desktop environment and with. This would allow a simple way to penetration test without installing Kali Linux on a new SD card.

Thanks

Errors opening lxde applications on Raspberry Pi OS lite

Repro steps

Boot 2020-05-27-raspios-buster-lite-armhf.img (the clean Raspberry Pi OS lite build) in IMG mode

Expected

Boot console shows a clean terminal

Actual

Something seems to be attempting to launch several lxde applications:

-bash: /usr/bin/startlxde-pi: No such file or directory
-bash: lxpanelctl: command not found
-bash: pcmanfm: command not found
-bash: /usr/bin/startlxde-pi: No such file or directory
-bash: lxpanelctl: command not found
-bash: /usr/bin/startlxde-pi: No such file or directory
pi@raspberrypi:~ $ -bash: pcmanfm: command not found
-bash: /usr/bin/startlxde-pi: No such file or directory
-bash: /usr/bin/startlxde-pi: No such file or directory

The -bash: /usr/bin/startlxde-pi: No such file or directory repeats infinitely every 5 seconds or so.

Other OS'es

Does this application also support other (custom) OSes? And if so, what are the limits? (I'm searching for a tool that allows me to test my own OS on my rpi400)

Update fstab?

When I try to shrink an image it says I need to update the /etc/fstab file.

Partitions or virtual mapping on device, not making file system

I am on Pi 3B+. Whenever I try to make a new img from sd card I get the error

mkfs.vfat: Partitions or virtual mappings on device '/dev/loop0', not making filesystem (use -I to override)

I am a newbie and not sure what I can do to fix this. I had it working once before but after a reinstall it has been acting up.

No writing SD image on mounted remote disk

I would like to write an SD image on a mounted remote disk but it is not possible since there is no available space.
I guess the available space could not be detected on remote mounted devices.

Issue booting image

So my images wouldn't boot. I ran img-mode manually, and here is it's output

Image file selected: /home/pi/Downloads/AmogOS.img
EOO
Boot
xfce4-terminal: Unknown option "-c"

Image file selected: /home/pi/Downloads/AmogOS.img`

The vdesktop window didnt even open.

umm?

if followed your tutoreal
i got in boot console
2021-01-30-204434_1920x1080_scrot
then in the window
2021-01-30-204442_1920x1080_scrot

IMG mode/View: Error /media/pi/pi-power-tools: No such file or directory

In IMG mode, clicking the "View" button popped up a window titled "Error" and displaying the message, "/media/pi/pi-power-tools: No such file or directory."

But then, thinking it might help PPT to function, I manually created this folder. After that a pcmanfm file manager window popped up (as well as another window titled "Viewing IMG" and saying "Close this when you are finished viewing the files") open to this folder, but the folder was empty.

The virtual machine ("Boot" button) seemed to work well enough, although I think it was not using the folders for its files that your scripts designated for it. I downloaded the latest raspbian image in PPT before I did these things. And so far, these are the only functions of PPT that I tried.

This is on a recently bought RPi 4 Model B Rev 1.4 with the latest Raspberry Pi OS dated 2020-08-20.

One complication: For security purposes I created a second user as which I did all these things. This second user is in all the same groups as the pi user. I "retired" --- meaning I am no longer routinely using --- the pi user account. But I did not delete it, although I changed its password. Also, both these users are now required to provide their passwords to sudo.

I did not try to, and would rather not be required to, use Pi Power Tools as the default pi user. So just in case using my second user account is the cause of these errors, I hope you will be able to modify your code so that I can.

Hostname has to be raspberrypi for autologin to work

Loaded Pi-Power-Tools on a Pi 4/4.
Inserted uSD card from a working Pi (boots to desktop etc with no problems).
Run Pi-Power-Tools
Choose USB; select device ok
Click Boot
Boot Console opens - many lines of log etc.
Gets to {hostname} login:
Nothing happens after that whether I leave it, enter the actual password, or even the default 'raspberry' password.
What info would help debug this?

IMG download fails due to Raspberry Pi Foundation using IMG.XZ releases

Today I noticed that PPT is unable to flash/download RPi OS Bullseye because the new download is in img.xz format.

This completely breaks the method PPT uses to obtain filename and size information, and there is no way to fix it without a major code refactor. If somebody else sees this issue and is willing to help, they are more than welcome to fork PPT and open a pull request. Looks like I'll have to flash Bullseye the old fashioned way... 😢

raspbian lite option

Hi, any chance of adding this for raspbian lite? or maybe it is, how to run on CLI?

regards.

Free Up Space

Is it possible to make an easier way to free up space? Currently the only way I know off to increase the size of the virtual machine is to press the 1GB free button. Is it possible to make a user input field and allow a custom storage size to be entered to free up?

Thanks, slashtechno

Vdesktop crashing

Im trying to start up my sd card without rebooting using ppt and all that happens is it crashes.
nothing else.

Downloading update... bash: line 2: $'[?25hDone': command not found

Hi, trying to install Pi-Power tools but get following error:

OS: Raspbian GNU/Linux 10 (buster)
OS architecture: 32-bit
Last updated Pi-Apps on: 07/27/2022
Latest Pi-Apps version: 07/27/2022
Kernel: armv7l 5.10.103-v7+
Device model: Raspberry Pi 3 Model B Plus Rev 1.3
Cpu name: Cortex-A53
Ram size: .92 GB
Raspberry Pi OS image version: 2019-07-10
Language: en_US.UTF-8

BEGINNING OF LOG FILE:

Will install these packages: yad systemd-container xserver-xephyr expect
Creating an empty apt-package to install the necessary apt packages...
It will be named: pi-apps-7144246a
Depends: expect, systemd-container, xserver-xephyr, yad
Running sudo apt update...
Hit:1 http://raspbian.raspberrypi.org/raspbian buster InRelease
Hit:2 https://deb.nodesource.com/node_14.x buster InRelease
Hit:3 http://archive.raspberrypi.org/debian buster InRelease
All packages are up to date.
apt update complete.
Installing the pi-apps-7144246a package...
The following additional packages will be installed:
expect tcl-expect
Suggested packages:
tk8.6
The following NEW packages will be installed:
expect pi-apps-7144246a tcl-expect
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Get:1 /home/pi/pi-apps-7144246a.deb pi-apps-7144246a all 1.0 [772 B]
Get:2 http://ftp.cica.es/mirrors/Linux/raspbian/raspbian buster/main armhf tcl-expect armhf 5.45.4-2 [121 kB]
Get:3 http://ftp.cica.es/mirrors/Linux/raspbian/raspbian buster/main armhf expect armhf 5.45.4-2 [166 kB]
Fetched 286 kB in 0s (673 kB/s)
(Reading database ...
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 120998 files and directories currently installed.)

Unpacking tcl-expect:armhf (5.45.4-2) ...

Unpacking expect (5.45.4-2) ...

Unpacking pi-apps-7144246a (1.0) ...

Apt finished.
Package installation complete.
Downloading update... bash: line 2: $'�[?25h�[0KDone': command not found

Failed to install Pi Power Tools!
◢◣Need help? Copy the ENTIRE terminal output or take a screenshot.
Please ask on Github: https://github.com/Botspot/pi-apps/issues/new/choose
Or on Discord: https://discord.gg/RXSTvaUvuu

Is this a known error where there is a fix ??
Kind regards
Don...

Got some errors and it didn't install; it's not in the start menu.

--2020-07-29 22:10:51--  https://raw.githubusercontent.com/Botspot/Pi-Power-Tools/master/update
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.0.133, 151.101.64.133, 151.101.128.133, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.0.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1606 (1.6K) [text/plain]
Saving to: 'STDOUT'

-                                100%[========================================================>]   1.57K  --.-KB/s    in 0s      

2020-07-29 22:10:51 (4.80 MB/s) - written to stdout [1606/1606]

rm: cannot remove '/home/pi/logo-64.png': No such file or directory
--2020-07-29 22:10:51--  https://raw.githubusercontent.com/Botspot/Pi-Power-Tools/master/icons/logo-64.png
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.192.133, 151.101.128.133, 151.101.64.133, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.192.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2760 (2.7K) [image/png]
Saving to: 'logo-64.png'

logo-64.png                      100%[========================================================>]   2.70K  --.-KB/s    in 0s      

2020-07-29 22:10:52 (10.5 MB/s) - 'logo-64.png' saved [2760/2760]

Cloning into 'Pi-Power-Tools'...
remote: Enumerating objects: 160, done.
remote: Counting objects: 100% (160/160), done.
remote: Compressing objects: 100% (156/156), done.
remote: Total 495 (delta 92), reused 5 (delta 1), pack-reused 335
Receiving objects: 100% (495/495), 8.33 MiB | 992.00 KiB/s, done.
Resolving deltas: 100% (253/253), done.
cp: cannot stat '/home/pi/Pi-Power-Tools.old/data/imglist': No such file or directory
cp: cannot stat '/home/pi/Pi-Power-Tools.old/data/ziplist': No such file or directory

User Friendly CLI

Similarly to #8 I was wondering if it would be possible to be able to launch image files easily from the command line. I know Vdesktop is works through the command line but is quite complicated. Below I put how it could look like.
To boot an image (would launch VM shell and VM GUI):
pi-power-tools boot <img file>
To install a new image:
pi-power-tools install pi-os-full

[Feature request] Boot-with-password button

Hi Botspot.

It would be usefull to add "Boot with password" beside "Boot" button.
When automatically started pi-wizard set a password,
image booting do not work - stops at login.

Networking

Any way to add networking to the virtual machine? right now mine is stuck without an IP or network interface...

Fatal Error: Failed to expand image

Hi

Did a fresh install of Pi Power Tools, tried backing up one of my images, but i get a error at the end saying Failed to Expand Image. Not sure whats causing this, my USB Drive has more then enough space.

Trouble accessing USB devices.

Thank you for making such an amazing and useful project!!!

However I am having trouble accessing USB devices connected to the pi when inside the container running the image file.

Specifically, I am trying to run Gqrx and other RTL-SDR apps from the PiSDR image... (https://github.com/luigifcruz/pisdr-image)

I have run the volk_profile command (inside the container) to detect and setup the RTL-SDR dongle, and that seemed to work, but when i run Gqrx or any other app that needs to access the SDR USB device from inside the container it tells me it can not open the device, and the device name and serial number do not show in the devices list like it should in any of the apps.

lsusb from inside the container sees the device, but for some reason apps can't access it.

I'm wondering if this is a permissions issue (do i need to run the apps with sudo) or is there some special "porting" we need to setup to pass through full USB functionality from inside the container?

Hope you can help, because this is the only way i can get all the SDR software to work on the latest Raspberry Pi OS.. by running the image file that someone has already done getting all the bugs out of the installation for those apps :-(

Also, another small issue... when running the OS in the container, I changed the default raspberry password, now the OS no longer boots to the desktop in the container, instead it goes to a prompt telling me the login was wrong, then i need to enter the user and new password and manually start the desktop with startx. How do I fix this so the new password is recognized in the container boot up process and it automatically boots to the desktop like it's supposed to?
Thanks

64 bit version

Hi I have a pi-400 running
$ uname -a
Linux larosa-400R64 5.10.92-v8+ #1514 SMP PREEMPT Mon Jan 17 17:39:38 GMT 2022 aarch64 GNU/Linux

And I'm trying to get the 32 bit full desk top in Pi-Power--Tools.

I just get a black screen with no error indicated.

Installing on Bookworm/Pi5 fails

I've ust tried to install and run on a new Pi 5.

Initially it complained becasue 'yad' could not be installed, but running the wget install snippet again claimed to have got past that.

If I run the PPT tool from the system menu and try to view an IMG it starts, fails and eventually closes the window. Runnig'vdesktop' directly results in

desktop /home/tim/2023-12-05-raspios-bookworm-arm64-full.img
Current config:
VDESKTOP_BOOT_MODE: gui
VDESKTOP_UMOUNT_ON_EXIT: yes
VDESKTOP_USERNAME: pi
VDESKTOP_PASSWORD: raspberry
VDESKTOP_AUTO_LOGIN: yes
VDESKTOP_MOUNTPOINT: /media/pi/vdesktop
VDESKTOP_ENABLE_ROOTMOUNT: yes
VDESKTOP_ENABLE_VIRGL: no
VDESKTOP_LOCAL_BINARIES: yes
VDESKTOP_NSPAWN_FLAGS: 

Message from Botspot: Comments >/dev/null. Just kidding! Questions or suggestions? https://www.raspberrypi.org/forums/viewtopic.php?&t=251757
Given /home/tim/2023-12-05-raspios-bookworm-arm64-full.img, running in disk image mode.
Here's the loop device for it: /dev/loop2
cat: /media/pi/vdesktop/etc/machine-id: No such file or directory
Machine IDs equal. (b7125ef90146405da5c533b078e65049) Changing machine id to 1f541e58f8e167fb79327640659482f7
/home/tim/Pi-Power-Tools/vdesktop/vdesktop: line 368: /media/pi/vdesktop/etc/machine-id: No such file or directory
/home/tim/Pi-Power-Tools/vdesktop/vdesktop: line 369: /media/pi/vdesktop/var/lib/dbus/machine-id: No such file or directory

img should be mounted, but /media/pi/vdesktop/bin does not exist!
Hold on...
Cleaning up...
Almost done...
Done!

Advice welcomed

RasPi Official Display

When I was testing this out, It worked great so far but one major problem I ran into is the official Raspberry Pi Display.
I made and img of the SD card and then did the shrink and tried doing the boot option.
This worked and the img booted. Then I went and tried to shutdown the booted img and it turned the raspberry pi official display off. Then when I tried launching it again the display didn't turn on. Next on the pi itself I did a reboot and the display turned back on. The weird part was that through VNC I could still see the desktop and everything but the official pi display was black.

https://drive.google.com/file/d/1hGUlwbbAMU27LAOQduHWGNhIlfA-Wq14/view?usp=sharing

Armbian support

Could you add support for Armbian. I use Orange Pi 3 LTS and I can't find similar tool for backuping and shrinking img of the SD card

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.