4 ms·
To launch an executable in windows, you double click the icon in the GUI. To launch the same programmed compiled for Linux, you can't always do that depending o
by the__alchemist 1y ago
To launch an executable in windows, you double click the icon in the GUI. To launch the same programmed compiled for Linux, you can't always do that depending on the distro's GUI layer. What you do in Gnome, for example, is create a .Desktop file, and place it in a certain location. Then it will show in your quick launch.
> None of this sounds like anything I've experienced, or heard described, in 3 years of using the Ubuntu-derived Mint.
To be more specific on those anecdotes I mentioned due to having hit them recently:
- Create an embedded device that talks to a PC over USB-serial. (Here you are not constrained to the whims of a GPOS! RTOSs are a dream in comparison, or forego entirely and use bare metal)
- Write PC software that talks to it (gets data from sensors etc)
- Try to run the program without Sudo on Linux. The USB won't work unless. I've heard the justification for this is that the USB might be a storage device, and storage devices should be restricted by the OS etc.
The PATH (and other environment-vars) in Linux are shell-specific. You regularly read instructions (I saw this in Go's official instructions yesterday) indicating to use the EXPORT command. This only works until you reboot; you have to hand-edit a sudo-protected file (bashrc, .profile etc), and there's a learning curve to it. I don't remember the details, but I've screwed it up multiple times.
- zahlman 1y ago> The PATH (and other environment-vars) in Linux are shell-specific. PATH works the same way in Bash, sh, zsh etc. etc. Various shells do offer some additional ways to manipulate environment variables, but you can rely on things like export. If you meant "specific to a shell process", then yes: > You regularly read instructions (I saw this in Go's official instructions yesterday) indicating to use the EXPORT command. This only works until you reboot See https://stackoverflow.com/questions/1158091 https://stackoverflow.com/questions/1158091 . The export command is essential. But of course settings that persist between sessions, between reboots etc. will be stored in a file. How else could it work? The point is that you aren't forced to use a GUI and you can examine the file as plain text and comprehend it. > you have to hand-edit a sudo-protected file (bashrc, .profile etc), and there's a learning curve to it. It's only root-owned (what I guess you mean by "sudo-protected") if it's system-wide. Per-user settings only require that user's rights, exactly as one would expect. That's not different from having to be an admin user on Windows to change system environment variables. Most of these config files are actually auto-run scripts, and understanding the system is an important part of familiarizing yourself with Linux as a developer. Trust me, Bash is much more pleasant to program in than Windows Batch files. > I don't remember the details, but I've screwed it up multiple times. If you want a wrapper for the process, it's not hard to make one if you can't already find one. It's strange to me how many developers don't seem to have any interest in building or customizing their own toolchain.
- the__alchemist 1y agoI suspect I understand our disconnect! I am looking at the GPOS as a tool for scheduling, driver interfaces, providing threads, and a GUI etc. I want it to get out of the way and let me run software. It's not something I'm intrinsically interested in, or want to tinker with, or config in a way that lets me break it. We choose which things we want to tinker with and improve, and which we would like to use as-is for that and other goals. For me, the OS is in the latter category.
- zahlman 1y agoI'm afraid I don't understand why you see the things that you do as "tinkering". To me, automation is just what you do with a computer (and operating with plain text files makes that much easier than being forced through GUIs for everything), and before you can do that you need to figure out what you find annoying enough to automate.