LINUX.ORG.RU

История изменений

Исправление Sorcus, (текущая версия) :

У меня результаты почему-то очень сильно отличаются.

$ sudo systemd-run --machine user@container --user --pipe hostnamectl
Running as unit: run-u516.service
   Static hostname: (unset)                         
Transient hostname: archlinux
         Icon name: computer-laptop
           Chassis: laptop 💻
  Operating System: Arch Linux                      
            Kernel: Linux 6.4.5-arch1-1
      Architecture: x86-64
$ sudo systemd-run --machine container -p User=user --pipe hostnamectl
Running as unit: run-u61034.service
 Static hostname: container
       Icon name: computer-container
         Chassis: container ☐
  Virtualization: systemd-nspawn
Operating System: Arch Linux                          
          Kernel: Linux 6.4.5-arch1-1
    Architecture: x86-64

По поводу второй части сообщения…
Если я запускаю foot с помощью команды:

$ sudo systemd-run --machine container -p User=user --setenv XDG_RUNTIME_DIR=/run/user/1000 --setenv WAYLAND_DISPLAY=wayland-1 /usr/bin/foot

То всё работает как надо. Терминал успешно запускается внутри контейнера.
Если же я запускаю bemenu-run (меню для запуска программ):

$ sudo systemd-run --machine container -p User=user --setenv XDG_RUNTIME_DIR=/run/user/1000 --setenv WAYLAND_DISPLAY=wayland-1 --pipe /usr/bin/bemenu-run

То меню внутри контейнера запускается нормально. Когда я в нём выбираю foot терминал для запуска, то ничего не происходит.
Но если в systemd-run добавить опцию --remain-after-exit, то терминал через bemenu-run запускается нормально:

sudo systemd-run --machine cd1de544-844b-426f-ad7f-9345ce93e3c5 -p User=sorcus --setenv XDG_RUNTIME_DIR=/run/user/1000 --setenv WAYLAND_DISPLAY=wayland-1 --remain-after-exit /usr/bin/bemenu-run

Возможно это ожидаемое поведение, но в systemd я не спец.

Исходная версия Sorcus, :

У меня результаты почему-то очень сильно отличаются.

$ sudo systemd-run --machine user@container --user --pipe hostnamectl
Running as unit: run-u516.service
   Static hostname: (unset)                         
Transient hostname: archlinux
         Icon name: computer-laptop
           Chassis: laptop 💻
  Operating System: Arch Linux                      
            Kernel: Linux 6.4.5-arch1-1
      Architecture: x86-64
$ sudo systemd-run --machine container -p User=user --pipe hostnamectl
Running as unit: run-u61034.service
 Static hostname: container
       Icon name: computer-container
         Chassis: container ☐
  Virtualization: systemd-nspawn
Operating System: Arch Linux                          
          Kernel: Linux 6.4.5-arch1-1
    Architecture: x86-64

По поводу второй части сообщения…
Если я запускаю foot с помощью команды:

$ sudo systemd-run --machine container -p User=user --setenv XDG_RUNTIME_DIR=/run/user/1000 --setenv WAYLAND_DISPLAY=wayland-1 /usr/bin/foot

То всё работает как надо. Терминал успешно запускается внутри контейнера.
Если же я запускаю bemenu-run (меню для запуска программ):

$ sudo systemd-run --machine container -p User=user --setenv XDG_RUNTIME_DIR=/run/user/1000 --setenv WAYLAND_DISPLAY=wayland-1 --pipe /usr/bin/bemenu-run

То меню внутри контейнера запускается нормально. Когда я в нём выбираю foot терминал для запуска, то ничего не происходит.
Но если в systemd-run добавить опцию --remain-after-exit, то терминал запускается.
Возможно это ожидаемое поведение, но в systemd я не спец.