From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
Moderators
For me it's the other way around I wish there would be better CLI support for GUI apps.
It's been years since I had to admin Windows servers, but I was quite impressed with the number of MS products where the install and configuration tools would output the Powershell commands to carry out the changes you'd asked for. It made it quite a lot easier to automate. I'd love to see that paradigm catch on more widely, with the GUI and CLI having the same functionality and the GUI giving you the commands to run.
I like gui file browser with integrated console window that prints all the commands you trigger by using gui as well.
Any examples?
Just from the top of my head.
It seems to exist: https://www.gimp.org/tutorials/Basic_Batch/
There are many things you can do in the GIMP gui that can't be done programmatically :(
This is one reason I love FreeCAD. Everything done in the GUI is just a python call
For anyconnect: openconnect works perfectly, either as standalone script or via networkmangler.
For Excel there is a PowerShell module called Import-Excel that I use all the time.
I see, nice, but I'm on Linux, so perhaps I need to run power shell there ^^
If you don't want to use PowerShell in Linux, there's also nushell, which is another (non-POSIX) shell that can process Excel files
I forgot where I was posting. (I use both win and Linux pretty heavily.) I have pwsh, let me see if import-excel works on linux and report back.
Check out openconnect to connect to anyconnect VPNs
I did, doesn't work with our company setup with 2FA.
What kind of prompt does your company 2FA provide? Using openconnect with networkmangler, I get a pop up to input my pin+totp. I haven't done the script way in the last few years, but the connection script is plain shell and I was able to handle the 2FA from there too
pavucontrol. I switch between usb headset and my external speakers all the time. Continually going to this gui is kind of annoying.
I use a little oneliner with tofi (rofi/wofi would also work) to select the current output and avoid pavucontrol. It's mapped to a sway binding but would probably work in any wm/de:
I'm using pipewire so the functionality of pactl is actually provided through pipewire-pulse I think
Does set-default-sink change an already current stream? Or do you need move-sink-input.
I've looked at the manpages but was a bit overwhelmed and didn't try to make my own script. Your solution gives me motivation to do so. I also use sway and pipewire. Though I use fuzzel for my launcher.
Yeah, it changes without skipping a beat for me in pipewire, even in things like zoom/teams.
I love programs like freecad despite the really hard/unintuitive gui. 95% of all the modelling i need to do (as an amateur) can be done easily in a python script.
The finishing touches like adding filets and chamfers are the annoying part were gui is easier, due to the way edges are referenced.
Likewise at work, we have to produce a lot of regular reports in excel. All done via python / sql.
This, but for a Fireshot like tool. Screenshot and pdf of webpages in their entirety by scrolling while shotting. In bulk, with CLI.
Do you have a legitimate use-case for this?
Dont know if it's illegitimate otherwise 😉
But my user story is like this:
I want to preserve and archive information I used because it's a reflection of the things I did, learned and studied throughout life.
Then my use case are:
My current workflow:
I would like to automate the last 3 steps of my workflow.
It's also the use cases supported by Linkwarden:
https://lemmy.world/post/17716634
Does this support sites that lazy load content as you scroll?
Not sure, search on "screenshot lazy load Fireshot" or "screenshot lazy load Linkwarden" does not turn up anything conclusive.
Do you have an example?
Rclone. Not because it's a complicated tool, but because I would like a history of my file transfers and a few graphs to show we what speeds, files sizes and whether the transfer succeeded. At the moment in order to confirm my home backups have succeeded, I have to run a separate size comparisons between my different datastores.
Probably not what you want, but rclone now has a simple web ui built in: https://rclone.org/gui/
I looked at it a few months back and it didn't have the history side of things, just the setup and realtime stats which I'd already got through the CLI. Thanks tho!
I feel like you can parse a --dry-run
Thanks. I think I looked at doing that when setting it up, and it was more expensive in terms of API calls. With a cloud vendor you have to be careful of that, so I opted for the SIZE command.
If it works it works
I'm missing a good GUI to manage SELinux. It is probably because I don't know how to handle it but I hate this thing with passion.
Ffmpeg.
Came here for this one
Try WinFF
systemctl
Love the Systemd-Manager 🥰
Dwarf Fortress no longer counts, huh?
I see you are one of our elders.
I've kinda grown towards CLI the last year or so. I used to make wrappers around CLIs for myself even haha
yt-dlp. Too many options to remember and look up every time, but all useful and missing from GUIs when you just want to dowload audio or 'good enough' quality video in batches without re-encoding.
While nmtui is perfectly fine for the CLI-uninitiated, I sometimes wonder why the nm-connection-editor window doesn't provide the same level of functionality.
This is a good use case for shell aliases. If you can identify a few of your use cases, you can give each bundle of options its own command.
I do exactly this for downloading music, I aliased my preferred options to 'yt-audio'
Would you mind sharing your command?
This is what I use (with zsh):
It takes the best quality available and downloads it to mp3.
There’s a firefox extension that generates the cli command for whatever video you’re on. Let’s you check boxes for the format, sponsorblock, etc and then copies it to your clipboard.
Just search the addon store for yt-dlp and it should show up
You can have most of the settings pre-loaded in its config file. I mostly let it do my preset -f, or when that fails do a -F to see what encodings are available.
Btw, here's my config file.
``` -o "%(title)s (%(uploader_id)s).%(ext)s"
-P ~/Videos
-P "temp:/tmp/yt-dlp/"
-f 271+ba[language=en][ext=m4a]/308+ba[language=en][ext=m4a]/137+ba[language=en][ext=m4a]/299+ba[language=en][ext=m4a]/231+ba[language=en][ext=m4a]/http_mp3_128/271+140/308+140/137+140/299+140/231+140 --download-archive ~/.config/yt-dlp/dl-archive --no-playlist --write-sub --no-mtime --compat-options no-live-chat
I believe ytDownloader might be what you're looking for. It's a yt-dlp frontend, you can export to video/audio pretty easily. And it's in active development. I've used it to export short clips to WAV a few times, nothing too fancy, but so far it works pretty well.
I use jdownloader as gui alternative for yt-dlp. 😄 It was easy enough for my mother to understand, apparently.
(Windows only warning, unless someone wants to add Linux support)
I didn't really search around for GUIs way back, but ended up making a basic GUI because I wanted to learn programming.
https://camo.githubusercontent.com/5ecb6cdfb3710e359894b65e42b79c7ab7dd8de55a14cdf34f0f0f37d48c7d04/68747470733a2f2f692e696d6775722e636f6d2f346a46776846652e706e67
With just having options as checkboxes for YouTube-dl. It has served me well all these years. It was literally the thing I made while learning programming so the code is pretty janky when I look back at it though...
Bad link
It's a link to an image on github not sure why it doesn't work for you. Try just looking at the repo then:
https://github.com/Thomasedv/Grabber
Mount a network share permanently on Kubuntu. Non IT people need to do backups too. And Plasma apps can't access network shares unless they are mounted.
I think https://apps.kde.org/smb4k/ can do this?
Thanks. I've tried it. But it's not a permanent mount. The program needs to be running all the time. And it frequently times out. A very poor experience. Other OSs do much better.
Have you considered a network file sharing system other than SMB?
As long as it's easy to setup, anything would be good. After many years of asking, nobody has been able to suggest anything.
A single, decent, maintained one for LVM.
Redhat had a couple of goes at this and they suck ass big time and rely on KDE (so no good for any other DE / WM). I'm not sure anything really works, so I'll say: none exist.
I'd like a GUI app for generating CLI's for other GUI apps that don't have them already. An application is never complete unless everything can be done via a CLI and/or API.
This is an interesting idea. There are some tools out there to auto-generate shell autocompletes based on standardized
--help
output. Maybe there's some possibility to GUIfy that sort of thing?I’m not sure how that could even be done, maybe a way to control the GUI with commands that you’d then be able to script, like Selenium on browsers?
Maybe. But wishes don't have to be possible. :)
Anything that needs to be configured with YAML, and Kubernetes in particular.
I mean I get the whole Infrastructure as Code hype (although I have never witnessed or heard of a situation where an entire cluster needed to be revived from scratch), but it should be very possible to make a gui that writes the YAML for you.
I don't want to memorize every possible setting and what it does and if someone makes a typo in the config (or in the white space, as it's YAML) everything is borked.
Call me old-fashioned but the graphical ui of something like octopus deploy was a thousand times more user friendly imho.
A few IDEs already provide some help with YAML. Rider will tell you if you've screwed up the YAML for a GitHub Actions workflow, and possibly docker-compose as well
I think it’s easy to make a generic YAML editor that all you need to do is to pass a “definitions” file that says all the possible options to show as a drop down or toggle etc.
That would be useful for many projects.
I think infrastructure as code is best utilized when paired with software testing and rapid deployment. It allows for a kind of granularity manual configuration doesn't give you
That UI is called VSCode
At the top of your
.yaml
file, you can set a JSON Schema. Example:This way, you don't have to memorize every possible setting and what it does and risk making a typo in the config. VSCode will just tell you.
There's no CLI that k wish I had a GUI for, but there's many GUIs for which I wish there was a CLI version.
The cli controls the computer while the GUI controls the user
Why would i use something so restrictive as cli tools when i can change the data directly with assembly?
I issue electricity directly to the pins.
So crude, when you could use a butterfly.
Not at all.They are 2 ways do the same thing. The GUI can tell you what options are available. The CLI needs you to memorise them, or go somewhere else to look them up.
A lot of GUIs have less options available than their CLI equivalents. Moreover GUIs change more often, requiring you to relearn the actions to get the expected result Shells can remember the commands you used, commands are also way easier to write down on paper than a list of actions to do on a GUI And using man or --help is not going somewhere to know the options, you stay in the shell If you want to know all the features of a tool, reading the manual is also easier than browsing all the GUI
The CLI lets the user automate tasks, giving them more control over their workflow
GUIs can have just as many options. Sure there are programs with poor UX. Choose a good one. There are also many GUIs with no CLI alternative, or only a poor UX alternative. As the GUIs guide the user, small changes are understood right away. GUIs remember last settings all the time. Great for reuse. If you have to write a command down, for GUIs it need not be perfect. For CLI one letter wrong and it fails. Using man commands is yet another command to learn and does not work with all CLI commands. It is possible to automate GUI commands.
And even if there was some benefit to a CLI, the entire UX is so poor you can understand why most people prefer GUIs. It's the dominant way for good reason. And why most CLI users use a web browser and GUI email client.
There is a gui for aria2. It is called Persepolis
Is there any difference with Motrix?
I'd love supported GUI apps for pacman and systemd. I know there are GUI's out there for them, but they are not supported by the main project, so they don't count.
https://github.com/KDE/systemdgenie
https://github.com/hardpixel/systemd-manager
https://cockpit-project.org/
Yeah I think a good GUI for systemd will be super useful even for people comfortable with command line.
Sometimes you need an overview of what is running on the system.
There's a TUI called sysz for systemd stuff, but I haven't found a true GUI
https://github.com/KDE/systemdgenie
https://github.com/hardpixel/systemd-manager
https://cockpit-project.org/
TIL! thanks!
Why don't they count? The systemd interface has been stable for a decade.
They don't count for me, because I can't get support from the main project if it has a bug.
You can't get support from lemmy.linuxuserspace.show or any other website if there's a bug in your web browser. You can't get support from gmail or protonmail or any other mail provider if there's a bug in your email client. It's awful how much people have come to assume that clients and servers must and always come from the same provider.
Systemd's problems won't be solved with a GUI. Now that lennart's gone to Microsoft we can hope they upgrade in rhel10 or 11 to upstart or sysv.
The whole CLI. Linux should automatically generate default GUIs from manpages and code, to be developed further by the crowd of users on the desktop. It's pointless to handcraft both interfaces one app at a time.
I like Linux Mint (compared to Ubuntu, Debian, and Windows) because usually right-clicking takes me closer to the solution I'm looking for, but it doesn't allow me to dig deep enough. It should be discoverable all the way from the desktop to what makes it tick. Think of Smalltalk by Alan Kay in Xerox PARC in the 1970s, or what it would be now had it been mainstream all this time. #discoverability #explorability
That would probably look terrible though.
Restic Backup!
w3m
, as weird as that sounds, for image drawing.links
graphical mode is nice, but I'm not a fan of its keybindings, and w3mimagedisplay is hacky at best, to say the least.INOTIFY a GUI for monitor file changes. https://en.wikipedia.org/wiki/Inotify
Hmm, I might try to make that. Any particular feature you are looking for, or is just displaying all the events in a table good 'nuff?
I'm not them, but sorting by columns, filtering, searching with highlights would be useful. Also, specifying the columns you wish to see.
After writing it down this sounds just plain spreadsheet operations, so the real value of such a tool would be to do all the above at the same time as watching changes.
There's also other things that would be useful. Like a feature to select multiple directories for watching. Live output to file in original format. Maybe also JSON for when you would use it from code, but that's maybe not that useful because then why not just use the API directly.. Perhaps some patterns for which ones to send as an audible system notification.
I'm surprised at the shortage of good Borg repository visualization tools. There *are* tools but they're either incomplete or they try to do too much.
Pandoc, for sure. I love its versatility, it's made it super easy for me to do most of my writing in markdown — and a lot of MD editors have it built-in as an export feature.
But I use it too rarely to know the CLI commands by heart, and sometimes it would just be super helpful to open a GUI and batch convert (and/or collate) a bunch of files to a new format.
Tell you what, throw Imagemagick and maybe a light OCR backend into the package as a Swiss Army Knife for document management, I'd probably be happy.
Just of the top of my head discovered today.
Not a GUI as one exists. But a more configurable one as it is crap for visually impaired.
Rpi-imager gui dose not take theme indications for font size etc. Worse it has no configuration to change such thing.
Making it pretty much unsuable for anyone with poor vision.
Also it varies for each visually impaired indevidual. But dark mode is essential for some of ua.
So if your looking for small projects. Youd at least make me happy;)
It seems that it is based on Qt, so there might be a easy way to fix this unless they’re creating their controls from scratch. I know QML can be used as a canvas to draw custom controls, so it depends on the code.
swap and zram configuration. lots of games need more than distro defaults
Usbip, I'm learning how to build a Python GUI by making one for usbip bind and usbip attach.
What do you use USB/IP for?
My laptop, desktop pc, and VMs are running Linux. All of them (except the laptop) are remotely accessible over the local network via Moonlight game stream using Sunshine as the hosting software.
I use USB/IP to send things like a Dualsense controller, or USB headset over the network, as well as my yubikey if I need to log into something with FIDO2 authentication remotely. (I haven't tested my yubikey over usb/ip yet but I will eventually) I've also managed to use my racing wheel this way but if it lags it hurts the game badly.
Webcam / headset / USB storage devices / game controllers work just fine so far.
Git - the Github Desktop application is a great example of how easy git could be for users like me who only rarely use git. Every time I need to do somethign other then a simple pull or push I need to look it up and by the time I need it again I have forgotten the command and need to look it up again. Just give me something like Github Desktop on linux
Lazygit, beautiful, terminal based, runs everywhere
Thats pretty good, thanks.
I'd love to have archivemount or a similar tool integrated in a file manager
I'd also love to have some sort of full featured gui software to install and manage custom roms in phones, allowing to do everything, from unlocking bootloaders to downloading and flashing/upgrading roms. For the tasks that require manual steps, it could offer illustrated steps, with a community driven database of phone models.
Wireguard
We use a doc where we can't just manage the config.
As well, there are a host of tools that all purport to manage your wireguard for you (generally using consul) that may be better. Assuming your goal is "GUI because I want to X" for management values of reason X, one of those manager apps may get you there without you needing to care about the GUI.
There are a bunch of GUI wg apps.