this post was submitted on 23 Sep 2023
30 points (96.9% liked)

Linux

48255 readers
786 users here now

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

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

I really want to make a bashrc function that I can call from the Gnome Terminal that will cd into a directory, then enter a distrobox container, then enter a conda environment, then launch a python script. (doing AI stuff and have many coexisting dependencies), I want a function because I would like to pass arguments to alter all 3 levels.

The distrobox "-- commands" doesn't seem to work for this. Like these commands do not launch inside the terminal that called distrobox. I need the output of these commands in the original terminal, and I need the visual confirmation that each command has run correctly like the conda (env)user$ I typically get for running conda activate and the PS1 changes I have setup for each distrobox container. How can I run a bash function/script that emulates the behavior of the Gnome Terminal when a user enters each of these commands sequentially?

you are viewing a single comment's thread
view the rest of the comments
[–] j4k3@lemmy.world 3 points 1 year ago

So I have containers and conda environments for Oobabooga, KoboldAI, Automatic 1111, ComfiUI, as GUIs, and separate CLI setups for Tortoise TTS, Selero, privateGPT, Langchain agents, and a couple of setups for additional CLI tools and a database. Most of these talk to each other over local host. Some of them like Oobabooga, I open every day and it just gets tedious. I have run the alias oobabooga="cd ~/foo/bar && distrobox enter foobar -- uname -n && conda activate baz && python ./baz.py" that can work but it is static and it doesn't always activate the conda environment correctly. I think this may be due to how long it can take for the distrobox container to activate. The uname -n helps a bit and is the only visual indicator I managed to get working to show me that I am in the distrobox, but it flies above the output quickly and if the program exits in error, my PS1 variable is not changed so I don't have my usual indicator that I am in a container. Overall, this can launch the script, but that is not what I am asking about or trying to achieve. I want the same visual indicators and clear execution as running each command sequentially in the terminal from a function or script.