Does anyone here use LXD/Incus? What do you do if you want to find the IP address of an instance, but incus list does not give you one? I am not sure what would be stopping one from being issued since that is how I have found that information before.

I am just a student trying to learn about them and do stuff. I often just find the IP of the container and then ssh in as that feels natural, but perhaps I am cutting against the grain here.

  • @InternetCitizen2OP
    link
    26 months ago

    But that then leaves me as root, is there a way to just have a normal user? Or is that also not really intended?

    • @TCB13
      link
      English
      4
      edit-2
      6 months ago

      Well, it’s a container, in most situations you would be running as root because the root inside the container is an unprivileged user outside it. So in effect the root inside the container will only be able to act as root inside that container and nowhere else. Most people simply do it that way and don’t bother with it.

      If you really want there are ways to specify the user… but again there’s little to no point there.

      lxc exec container-name --user 1000 bash 
      lxc exec container-name -- su --shell /bin/bash --login user-name
      

      For your convenience you can alias that in your host’s ~/.bashrc with something like:

      lxcbash() { lxc exec "$1" -- sudo --login --user "$2"; }
      
      

      And then run like:

      lxcbash container-name user-name
      
      • @InternetCitizen2OP
        link
        36 months ago

        I guess that does make sense. Part of what I had in mind was having different instance for different projects. I guess in my mind it gives me a reason to have and practice multiple as well as feeling cleaner (keeping compiler and stuff off host). I will try out your advice when I get home. Thank you so much!

        • @JohnnySledge
          link
          26 months ago

          I use LXD (too lazy to move to Incus at the moment) for this exact purpose. It’s definitely nice having a greater degree of isolation between the various projects I’m working on — especially when working with confidential information from clients. Depending on what you’re looking to do there are simpler ways to manage isolation between projects like chroot and nspawn or Nix’s environments. Then again by using LXD/Incus you get that plus lots of other useful tools baked in.

          Regarding not getting an IP address have you checked your base configuration to see if dhcp has been configured for the bridge? If that isn’t the issue then all I can think of is that you somehow deleted the interface and should check the container config.

          That said the commands provided above are how I usually access the container command line. For coding I use code-server to put VS Code in a browser. I’m sure there are better options and look forward to the suggestions.

          Keep going and learning!

          • @TCB13
            link
            English
            26 months ago

            You can run full GUI apps inside LXC containers and have X11 deal with the rest. Guides here and here.

            • @JohnnySledge
              link
              26 months ago

              Thanks! I’ve come across many of Simos’ posts while getting up to speed on LXD. I had previously ended up settling on using the forgotten xdmcp to establish and manage the connections. My next go around will probably use a different approach that is more secure.

              My use case for code-server is that I can then access the IDE from any computer allowing me greater flexibility of the device that I code on.