Comments (12)
After some test this is working as intended, merging it and closing this, it will be available in next release 👍
from distrobox.
Update: we need to keep an eye also on distrobox-enter
as it will set the HOME environment value and will thwart the value set in distrobox-create
A simple workaround could be that we enforce in distrobox-init
the value of HOME passed to the init via the --home
flag we already have and use
from distrobox.
Yes you might also need to keep eyes files like .bashrc, .bash_profile and .profile. The need to be autogenerated by the guest distros default mechanism and they need to persistent between sessions. For some reason podman might reset them if you use the approach used by tlbx.
from distrobox.
Yes you might also need to keep eyes files like .bashrc, .bash_profile and .profile. The need to be autogenerated by the guest distros default mechanism and they need to persistent between sessions. For some reason podman might reset them if you use the approach used by tlbx.
Yep I was working on this lightly now, and the only thing remaining is really this, having those default files ready.
For now the adjustments needed are:
- distrobox-create: add the flag that sets the already present
$container_user_home
, be sure to set the HOME env variable contextually - distrobox-enter: ignore the HOME env variable, as it is set at
distrobox-create
time now
And it works as it is, we need to sort out the shell default files
from distrobox.
@yilkalargaw I've opened a pull request if you want to test it
distrobox-create --image alpine --name alpine-test --home /tmp/
and
distrobox-enter --name alpine-test
This is still not having the default profile/bashrc file done
from distrobox.
For some reason podman might reset them if you use the approach used by tlbx.
I didn't know this project, neat 😄
Anyway it's been resetting because each start it does:
su "$user" sh -c "cp -p /etc/skel/.* /home/$user"
Which overwrites the files with the default ones in skel.
The skel directory is not a ubiquitous default, so i'd say i would set like this in the distrobox-init
if [ -d /etc/skel ]; then
for skel_file in /etc/skel/.*; do
if [ ! -f $HOME/$(basename $skel_file ]; then
cp $skel_file $HOME
fi
done
fi
This should let initialize the home files only if a skel dir is present, and a dot file is not already present in the home
from distrobox.
Updated the PR with an implementation of the above 👍
EDIT: at a first glance, trying some major families (alpine, arch, ubuntu, fedora) seems to work as intended, and it persists
from distrobox.
Thanks @89luca89 that was fast. I tried it out on a fedora:35 and for some reason it is failing for me. I will list the commands I ran the the output from running the commands in verbose mode below
mkdir /tmp/modmod
distrobox-create --image ubuntu:20.04 --name modmod --home /tmp/modmod/ # this part seems to work
distrobox-enter --name modmod # this fails with the following error
# Error: chdir: No such file or directory: OCI runtime attempted to invoke a command that was not found
#
# An error occurred
The output of distrobox-enter --name modmod --verbose 2>>distro_txt.txt
+ container_manager=podman
++ id -ru
+ '[' -S /run/user/1001/podman/podman.sock ']'
+ command -v podman
+ '[' 1 -ne 0 ']'
+ container_manager='podman --log-level debug'
++ podman --log-level debug inspect --type container modmod --format '{{.State.Status}}'
time="2021-12-30T04:39:14+03:00" level=info msg="podman filtering at log level debug"
time="2021-12-30T04:39:14+03:00" level=debug msg="Called inspect.PersistentPreRunE(podman --log-level debug inspect --type container modmod --format {{.State.Status}})"
time="2021-12-30T04:39:14+03:00" level=debug msg="Cached value indicated that overlay is supported"
time="2021-12-30T04:39:14+03:00" level=debug msg="Merged system config \"/usr/share/containers/containers.conf\""
time="2021-12-30T04:39:14+03:00" level=debug msg="Cached value indicated that overlay is supported"
time="2021-12-30T04:39:14+03:00" level=debug msg="Using conmon: \"/usr/bin/conmon\""
time="2021-12-30T04:39:14+03:00" level=debug msg="Initializing boltdb state at /home/contraland/.local/share/containers/storage/libpod/bolt_state.db"
time="2021-12-30T04:39:14+03:00" level=debug msg="Using graph driver overlay"
time="2021-12-30T04:39:14+03:00" level=debug msg="Using graph root /home/contraland/.local/share/containers/storage"
time="2021-12-30T04:39:14+03:00" level=debug msg="Using run root /run/user/1001/containers"
time="2021-12-30T04:39:14+03:00" level=debug msg="Using static dir /home/contraland/.local/share/containers/storage/libpod"
time="2021-12-30T04:39:14+03:00" level=debug msg="Using tmp dir /run/user/1001/libpod/tmp"
time="2021-12-30T04:39:14+03:00" level=debug msg="Using volume path /home/contraland/.local/share/containers/storage/volumes"
time="2021-12-30T04:39:14+03:00" level=debug msg="Cached value indicated that overlay is supported"
time="2021-12-30T04:39:14+03:00" level=debug msg="Set libpod namespace to \"\""
time="2021-12-30T04:39:14+03:00" level=debug msg="[graphdriver] trying provided driver \"overlay\""
time="2021-12-30T04:39:14+03:00" level=debug msg="Cached value indicated that overlay is supported"
time="2021-12-30T04:39:14+03:00" level=debug msg="Cached value indicated that metacopy is not being used"
time="2021-12-30T04:39:14+03:00" level=debug msg="Cached value indicated that native-diff is usable"
time="2021-12-30T04:39:14+03:00" level=debug msg="backingFs=btrfs, projectQuotaSupported=false, useNativeDiff=true, usingMetacopy=false"
time="2021-12-30T04:39:14+03:00" level=debug msg="Initializing event backend journald"
time="2021-12-30T04:39:14+03:00" level=debug msg="configured OCI runtime kata initialization failed: no valid executable found for OCI runtime kata: invalid argument"
time="2021-12-30T04:39:14+03:00" level=debug msg="configured OCI runtime runsc initialization failed: no valid executable found for OCI runtime runsc: invalid argument"
time="2021-12-30T04:39:14+03:00" level=debug msg="configured OCI runtime runc initialization failed: no valid executable found for OCI runtime runc: invalid argument"
time="2021-12-30T04:39:14+03:00" level=debug msg="Using OCI runtime \"/usr/bin/crun\""
time="2021-12-30T04:39:14+03:00" level=debug msg="Default CNI network name podman is unchangeable"
time="2021-12-30T04:39:14+03:00" level=info msg="Setting parallel job count to 25"
time="2021-12-30T04:39:15+03:00" level=debug msg="Error parsing cgroup: expected 3 fields but got 1: /proc/414342/cgroup"
time="2021-12-30T04:39:15+03:00" level=debug msg="Called inspect.PersistentPostRunE(podman --log-level debug inspect --type container modmod --format {{.State.Status}})"
+ container_status=running
+ container_exists=0
+ '[' 0 -gt 0 ']'
+ '[' running '!=' running ']'
++ generate_command
++ result_command='podman --log-level debug exec'
++ result_command='podman --log-level debug exec
--user=contraland'
++ '[' 0 -eq 0 ']'
++ result_command='podman --log-level debug exec
--user=contraland
--interactive
--tty'
+++ command -v distrobox-enter
++ result_command='podman --log-level debug exec
--user=contraland
--interactive
--tty
--workdir=/home/contraland
--env=DISTROBOX_ENTER_PATH=/home/contraland/.local/bin/distrobox-enter'
++ set +o xtrace
++ result_command='podman --log-level debug exec
--user=contraland
--interactive
--tty
--workdir=/home/contraland
--env=DISTROBOX_ENTER_PATH=/home/contraland/.local/bin/distrobox-enter --env="SHELL=/bin/bash" --env="WINDOWID=50331663" --env="COLORTERM=truecolor" --env="HISTCONTROL=ignoredups" --env="XDG_MENU_PREFIX=lxde-" --env="HISTSIZE=1000" --env="HOSTNAME=fedora" --env="EDITOR=/usr/bin/vim" --env="XDG_SEAT=seat0" --env="PWD=/home/contraland" --env="LOGNAME=contraland" --env="XDG_SESSION_TYPE=tty" --env="SYSTEMD_EXEC_PID=1646" --env="XAUTHORITY=/home/contraland/.Xauthority" --env="DESKTOP_STARTUP_ID=awesome/kitty/1773-40-fedora_TIME113778030" --env="QT_STYLE_OVERRIDE=kvantum" --env="WINDOWPATH=1" --env="LANG=en_US.UTF-8" --env="LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.m4a=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.oga=01;36:*.opus=01;36:*.spx=01;36:*.xspf=01;36:" --env="XDG_CURRENT_DESKTOP=LXDE" --env="KITTY_WINDOW_ID=1" --env="INVOCATION_ID=20233e165c2c4b8c973a2e50426cc0ae" --env="XORG_RUN_AS_USER_OK=1" --env="XDG_SESSION_CLASS=user" --env="TERM=xterm-256color" --env="TERMINFO=/usr/lib64/kitty/terminfo" --env="USER=contraland" --env="DISPLAY=:0" --env="SHLVL=2" --env="XDG_VTNR=1" --env="XDG_SESSION_ID=1" --env="XDG_RUNTIME_DIR=/run/user/1001" --env="JOURNAL_STREAM=8:26582" --env="XDG_DATA_DIRS=/home/contraland/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share" --env="PATH=/home/contraland/.local/bin:/home/contraland/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin" --env="GTK_USE_PORTAL=1" --env="DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1001/bus" --env="MAIL=/var/spool/mail/contraland" --env="_=/usr/bin/printenv" --env="PATH=/home/contraland/.local/bin:/home/contraland/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/bin" modmod bash -l'
++ printf %s 'podman --log-level debug exec
--user=contraland
--interactive
--tty
--workdir=/home/contraland
--env=DISTROBOX_ENTER_PATH=/home/contraland/.local/bin/distrobox-enter --env="SHELL=/bin/bash" --env="WINDOWID=50331663" --env="COLORTERM=truecolor" --env="HISTCONTROL=ignoredups" --env="XDG_MENU_PREFIX=lxde-" --env="HISTSIZE=1000" --env="HOSTNAME=fedora" --env="EDITOR=/usr/bin/vim" --env="XDG_SEAT=seat0" --env="PWD=/home/contraland" --env="LOGNAME=contraland" --env="XDG_SESSION_TYPE=tty" --env="SYSTEMD_EXEC_PID=1646" --env="XAUTHORITY=/home/contraland/.Xauthority" --env="DESKTOP_STARTUP_ID=awesome/kitty/1773-40-fedora_TIME113778030" --env="QT_STYLE_OVERRIDE=kvantum" --env="WINDOWPATH=1" --env="LANG=en_US.UTF-8" --env="LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.m4a=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.oga=01;36:*.opus=01;36:*.spx=01;36:*.xspf=01;36:" --env="XDG_CURRENT_DESKTOP=LXDE" --env="KITTY_WINDOW_ID=1" --env="INVOCATION_ID=20233e165c2c4b8c973a2e50426cc0ae" --env="XORG_RUN_AS_USER_OK=1" --env="XDG_SESSION_CLASS=user" --env="TERM=xterm-256color" --env="TERMINFO=/usr/lib64/kitty/terminfo" --env="USER=contraland" --env="DISPLAY=:0" --env="SHLVL=2" --env="XDG_VTNR=1" --env="XDG_SESSION_ID=1" --env="XDG_RUNTIME_DIR=/run/user/1001" --env="JOURNAL_STREAM=8:26582" --env="XDG_DATA_DIRS=/home/contraland/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share" --env="PATH=/home/contraland/.local/bin:/home/contraland/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin" --env="GTK_USE_PORTAL=1" --env="DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1001/bus" --env="MAIL=/var/spool/mail/contraland" --env="_=/usr/bin/printenv" --env="PATH=/home/contraland/.local/bin:/home/contraland/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/bin" modmod bash -l'
+ cmd='podman --log-level debug exec
--user=contraland
--interactive
--tty
--workdir=/home/contraland
--env=DISTROBOX_ENTER_PATH=/home/contraland/.local/bin/distrobox-enter --env="SHELL=/bin/bash" --env="WINDOWID=50331663" --env="COLORTERM=truecolor" --env="HISTCONTROL=ignoredups" --env="XDG_MENU_PREFIX=lxde-" --env="HISTSIZE=1000" --env="HOSTNAME=fedora" --env="EDITOR=/usr/bin/vim" --env="XDG_SEAT=seat0" --env="PWD=/home/contraland" --env="LOGNAME=contraland" --env="XDG_SESSION_TYPE=tty" --env="SYSTEMD_EXEC_PID=1646" --env="XAUTHORITY=/home/contraland/.Xauthority" --env="DESKTOP_STARTUP_ID=awesome/kitty/1773-40-fedora_TIME113778030" --env="QT_STYLE_OVERRIDE=kvantum" --env="WINDOWPATH=1" --env="LANG=en_US.UTF-8" --env="LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.m4a=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.oga=01;36:*.opus=01;36:*.spx=01;36:*.xspf=01;36:" --env="XDG_CURRENT_DESKTOP=LXDE" --env="KITTY_WINDOW_ID=1" --env="INVOCATION_ID=20233e165c2c4b8c973a2e50426cc0ae" --env="XORG_RUN_AS_USER_OK=1" --env="XDG_SESSION_CLASS=user" --env="TERM=xterm-256color" --env="TERMINFO=/usr/lib64/kitty/terminfo" --env="USER=contraland" --env="DISPLAY=:0" --env="SHLVL=2" --env="XDG_VTNR=1" --env="XDG_SESSION_ID=1" --env="XDG_RUNTIME_DIR=/run/user/1001" --env="JOURNAL_STREAM=8:26582" --env="XDG_DATA_DIRS=/home/contraland/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share" --env="PATH=/home/contraland/.local/bin:/home/contraland/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin" --env="GTK_USE_PORTAL=1" --env="DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1001/bus" --env="MAIL=/var/spool/mail/contraland" --env="_=/usr/bin/printenv" --env="PATH=/home/contraland/.local/bin:/home/contraland/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/bin" modmod bash -l'
+ eval podman --log-level debug exec --user=contraland --interactive --tty --workdir=/home/contraland --env=DISTROBOX_ENTER_PATH=/home/contraland/.local/bin/distrobox-enter '--env="SHELL=/bin/bash"' '--env="WINDOWID=50331663"' '--env="COLORTERM=truecolor"' '--env="HISTCONTROL=ignoredups"' '--env="XDG_MENU_PREFIX=lxde-"' '--env="HISTSIZE=1000"' '--env="HOSTNAME=fedora"' '--env="EDITOR=/usr/bin/vim"' '--env="XDG_SEAT=seat0"' '--env="PWD=/home/contraland"' '--env="LOGNAME=contraland"' '--env="XDG_SESSION_TYPE=tty"' '--env="SYSTEMD_EXEC_PID=1646"' '--env="XAUTHORITY=/home/contraland/.Xauthority"' '--env="DESKTOP_STARTUP_ID=awesome/kitty/1773-40-fedora_TIME113778030"' '--env="QT_STYLE_OVERRIDE=kvantum"' '--env="WINDOWPATH=1"' '--env="LANG=en_US.UTF-8"' '--env="LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.m4a=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.oga=01;36:*.opus=01;36:*.spx=01;36:*.xspf=01;36:"' '--env="XDG_CURRENT_DESKTOP=LXDE"' '--env="KITTY_WINDOW_ID=1"' '--env="INVOCATION_ID=20233e165c2c4b8c973a2e50426cc0ae"' '--env="XORG_RUN_AS_USER_OK=1"' '--env="XDG_SESSION_CLASS=user"' '--env="TERM=xterm-256color"' '--env="TERMINFO=/usr/lib64/kitty/terminfo"' '--env="USER=contraland"' '--env="DISPLAY=:0"' '--env="SHLVL=2"' '--env="XDG_VTNR=1"' '--env="XDG_SESSION_ID=1"' '--env="XDG_RUNTIME_DIR=/run/user/1001"' '--env="JOURNAL_STREAM=8:26582"' '--env="XDG_DATA_DIRS=/home/contraland/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share"' '--env="PATH=/home/contraland/.local/bin:/home/contraland/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin"' '--env="GTK_USE_PORTAL=1"' '--env="DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1001/bus"' '--env="MAIL=/var/spool/mail/contraland"' '--env="_=/usr/bin/printenv"' '--env="PATH=/home/contraland/.local/bin:/home/contraland/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/bin"' modmod bash -l
++ podman --log-level debug exec --user=contraland --interactive --tty --workdir=/home/contraland --env=DISTROBOX_ENTER_PATH=/home/contraland/.local/bin/distrobox-enter --env=SHELL=/bin/bash --env=WINDOWID=50331663 --env=COLORTERM=truecolor --env=HISTCONTROL=ignoredups --env=XDG_MENU_PREFIX=lxde- --env=HISTSIZE=1000 --env=HOSTNAME=fedora --env=EDITOR=/usr/bin/vim --env=XDG_SEAT=seat0 --env=PWD=/home/contraland --env=LOGNAME=contraland --env=XDG_SESSION_TYPE=tty --env=SYSTEMD_EXEC_PID=1646 --env=XAUTHORITY=/home/contraland/.Xauthority --env=DESKTOP_STARTUP_ID=awesome/kitty/1773-40-fedora_TIME113778030 --env=QT_STYLE_OVERRIDE=kvantum --env=WINDOWPATH=1 --env=LANG=en_US.UTF-8 '--env=LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.m4a=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.oga=01;36:*.opus=01;36:*.spx=01;36:*.xspf=01;36:' --env=XDG_CURRENT_DESKTOP=LXDE --env=KITTY_WINDOW_ID=1 --env=INVOCATION_ID=20233e165c2c4b8c973a2e50426cc0ae --env=XORG_RUN_AS_USER_OK=1 --env=XDG_SESSION_CLASS=user --env=TERM=xterm-256color --env=TERMINFO=/usr/lib64/kitty/terminfo --env=USER=contraland --env=DISPLAY=:0 --env=SHLVL=2 --env=XDG_VTNR=1 --env=XDG_SESSION_ID=1 --env=XDG_RUNTIME_DIR=/run/user/1001 --env=JOURNAL_STREAM=8:26582 --env=XDG_DATA_DIRS=/home/contraland/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share --env=PATH=/home/contraland/.local/bin:/home/contraland/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin --env=GTK_USE_PORTAL=1 --env=DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1001/bus --env=MAIL=/var/spool/mail/contraland --env=_=/usr/bin/printenv --env=PATH=/home/contraland/.local/bin:/home/contraland/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/bin modmod bash -l
time="2021-12-30T04:39:15+03:00" level=info msg="podman filtering at log level debug"
time="2021-12-30T04:39:15+03:00" level=debug msg="Called exec.PersistentPreRunE(podman --log-level debug exec --user=contraland --interactive --tty --workdir=/home/contraland --env=DISTROBOX_ENTER_PATH=/home/contraland/.local/bin/distrobox-enter --env=SHELL=/bin/bash --env=WINDOWID=50331663 --env=COLORTERM=truecolor --env=HISTCONTROL=ignoredups --env=XDG_MENU_PREFIX=lxde- --env=HISTSIZE=1000 --env=HOSTNAME=fedora --env=EDITOR=/usr/bin/vim --env=XDG_SEAT=seat0 --env=PWD=/home/contraland --env=LOGNAME=contraland --env=XDG_SESSION_TYPE=tty --env=SYSTEMD_EXEC_PID=1646 --env=XAUTHORITY=/home/contraland/.Xauthority --env=DESKTOP_STARTUP_ID=awesome/kitty/1773-40-fedora_TIME113778030 --env=QT_STYLE_OVERRIDE=kvantum --env=WINDOWPATH=1 --env=LANG=en_US.UTF-8 --env=LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.m4a=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.oga=01;36:*.opus=01;36:*.spx=01;36:*.xspf=01;36: --env=XDG_CURRENT_DESKTOP=LXDE --env=KITTY_WINDOW_ID=1 --env=INVOCATION_ID=20233e165c2c4b8c973a2e50426cc0ae --env=XORG_RUN_AS_USER_OK=1 --env=XDG_SESSION_CLASS=user --env=TERM=xterm-256color --env=TERMINFO=/usr/lib64/kitty/terminfo --env=USER=contraland --env=DISPLAY=:0 --env=SHLVL=2 --env=XDG_VTNR=1 --env=XDG_SESSION_ID=1 --env=XDG_RUNTIME_DIR=/run/user/1001 --env=JOURNAL_STREAM=8:26582 --env=XDG_DATA_DIRS=/home/contraland/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share --env=PATH=/home/contraland/.local/bin:/home/contraland/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin --env=GTK_USE_PORTAL=1 --env=DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1001/bus --env=MAIL=/var/spool/mail/contraland --env=_=/usr/bin/printenv --env=PATH=/home/contraland/.local/bin:/home/contraland/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/bin modmod bash -l)"
time="2021-12-30T04:39:15+03:00" level=debug msg="Cached value indicated that overlay is supported"
time="2021-12-30T04:39:15+03:00" level=debug msg="Merged system config \"/usr/share/containers/containers.conf\""
time="2021-12-30T04:39:15+03:00" level=debug msg="Cached value indicated that overlay is supported"
time="2021-12-30T04:39:15+03:00" level=debug msg="Using conmon: \"/usr/bin/conmon\""
time="2021-12-30T04:39:15+03:00" level=debug msg="Initializing boltdb state at /home/contraland/.local/share/containers/storage/libpod/bolt_state.db"
time="2021-12-30T04:39:15+03:00" level=debug msg="Using graph driver overlay"
time="2021-12-30T04:39:15+03:00" level=debug msg="Using graph root /home/contraland/.local/share/containers/storage"
time="2021-12-30T04:39:15+03:00" level=debug msg="Using run root /run/user/1001/containers"
time="2021-12-30T04:39:15+03:00" level=debug msg="Using static dir /home/contraland/.local/share/containers/storage/libpod"
time="2021-12-30T04:39:15+03:00" level=debug msg="Using tmp dir /run/user/1001/libpod/tmp"
time="2021-12-30T04:39:15+03:00" level=debug msg="Using volume path /home/contraland/.local/share/containers/storage/volumes"
time="2021-12-30T04:39:15+03:00" level=debug msg="Cached value indicated that overlay is supported"
time="2021-12-30T04:39:15+03:00" level=debug msg="Set libpod namespace to \"\""
time="2021-12-30T04:39:15+03:00" level=debug msg="[graphdriver] trying provided driver \"overlay\""
time="2021-12-30T04:39:15+03:00" level=debug msg="Cached value indicated that overlay is supported"
time="2021-12-30T04:39:15+03:00" level=debug msg="Cached value indicated that metacopy is not being used"
time="2021-12-30T04:39:15+03:00" level=debug msg="Cached value indicated that native-diff is usable"
time="2021-12-30T04:39:15+03:00" level=debug msg="backingFs=btrfs, projectQuotaSupported=false, useNativeDiff=true, usingMetacopy=false"
time="2021-12-30T04:39:15+03:00" level=debug msg="Initializing event backend journald"
time="2021-12-30T04:39:15+03:00" level=debug msg="configured OCI runtime kata initialization failed: no valid executable found for OCI runtime kata: invalid argument"
time="2021-12-30T04:39:15+03:00" level=debug msg="configured OCI runtime runsc initialization failed: no valid executable found for OCI runtime runsc: invalid argument"
time="2021-12-30T04:39:15+03:00" level=debug msg="configured OCI runtime runc initialization failed: no valid executable found for OCI runtime runc: invalid argument"
time="2021-12-30T04:39:15+03:00" level=debug msg="Using OCI runtime \"/usr/bin/crun\""
time="2021-12-30T04:39:15+03:00" level=debug msg="Default CNI network name podman is unchangeable"
time="2021-12-30T04:39:15+03:00" level=info msg="Setting parallel job count to 25"
time="2021-12-30T04:39:15+03:00" level=debug msg="Handling terminal attach"
time="2021-12-30T04:39:15+03:00" level=info msg="Created exec session 3cb7105c2fc65d0efd01203ef01e86d73d307ac4011d30d1308a1aca8df33f45 in container 015ef309d787cb59523f01d36c314d50cf3969c9620c8b85e3227fd023c78d36"
time="2021-12-30T04:39:15+03:00" level=debug msg="Sending resize events to exec session 3cb7105c2fc65d0efd01203ef01e86d73d307ac4011d30d1308a1aca8df33f45"
time="2021-12-30T04:39:15+03:00" level=info msg="Going to start container 015ef309d787cb59523f01d36c314d50cf3969c9620c8b85e3227fd023c78d36 exec session 3cb7105c2fc65d0efd01203ef01e86d73d307ac4011d30d1308a1aca8df33f45 and attach to it"
time="2021-12-30T04:39:15+03:00" level=debug msg="/usr/bin/conmon messages will be logged to syslog"
time="2021-12-30T04:39:15+03:00" level=debug msg="running conmon: /usr/bin/conmon" args="[--api-version 1 -c 015ef309d787cb59523f01d36c314d50cf3969c9620c8b85e3227fd023c78d36 -u 3cb7105c2fc65d0efd01203ef01e86d73d307ac4011d30d1308a1aca8df33f45 -r /usr/bin/crun -b /home/contraland/.local/share/containers/storage/overlay-containers/015ef309d787cb59523f01d36c314d50cf3969c9620c8b85e3227fd023c78d36/userdata/3cb7105c2fc65d0efd01203ef01e86d73d307ac4011d30d1308a1aca8df33f45 -p /home/contraland/.local/share/containers/storage/overlay-containers/015ef309d787cb59523f01d36c314d50cf3969c9620c8b85e3227fd023c78d36/userdata/3cb7105c2fc65d0efd01203ef01e86d73d307ac4011d30d1308a1aca8df33f45/exec_pid -n modmod --exit-dir /home/contraland/.local/share/containers/storage/overlay-containers/015ef309d787cb59523f01d36c314d50cf3969c9620c8b85e3227fd023c78d36/userdata/3cb7105c2fc65d0efd01203ef01e86d73d307ac4011d30d1308a1aca8df33f45/exit --full-attach -s -l none --log-level debug --syslog -t -i -e --exec-attach --exec-process-spec /home/contraland/.local/share/containers/storage/overlay-containers/015ef309d787cb59523f01d36c314d50cf3969c9620c8b85e3227fd023c78d36/userdata/3cb7105c2fc65d0efd01203ef01e86d73d307ac4011d30d1308a1aca8df33f45/exec-process-290859649 --exit-command /usr/bin/podman --exit-command-arg --root --exit-command-arg /home/contraland/.local/share/containers/storage --exit-command-arg --runroot --exit-command-arg /run/user/1001/containers --exit-command-arg --log-level --exit-command-arg debug --exit-command-arg --cgroup-manager --exit-command-arg systemd --exit-command-arg --tmpdir --exit-command-arg /run/user/1001/libpod/tmp --exit-command-arg --runtime --exit-command-arg crun --exit-command-arg --storage-driver --exit-command-arg overlay --exit-command-arg --events-backend --exit-command-arg journald --exit-command-arg container --exit-command-arg cleanup --exit-command-arg --exec --exit-command-arg 3cb7105c2fc65d0efd01203ef01e86d73d307ac4011d30d1308a1aca8df33f45 --exit-command-arg 015ef309d787cb59523f01d36c314d50cf3969c9620c8b85e3227fd023c78d36]"
time="2021-12-30T04:39:15+03:00" level=debug msg="Attaching to container 015ef309d787cb59523f01d36c314d50cf3969c9620c8b85e3227fd023c78d36 exec session 3cb7105c2fc65d0efd01203ef01e86d73d307ac4011d30d1308a1aca8df33f45"
time="2021-12-30T04:39:15+03:00" level=debug msg="Received: 0"
time="2021-12-30T04:39:15+03:00" level=debug msg="Received: -1"
Error: OCI runtime error: [conmon:d]: exec with attach is waiting for start message from parent
[conmon:d]: exec with attach got start message from parent
+ '[' 255 -ne 0 ']'
+ printf '\nAn error occurred\n'
from distrobox.
Mhh seems it is a problem with --workdir
If you are anywhere inside your home it will try co chdir into it and fail
That's a problem to solve, for now try distrobox-enter
from a non home directory (like CD in /tmp or /var first)
EDIT: pushed a possible fix
right now we're resolving the "have custom HOME problem" not the isolation problem, so we do not override the home mountpoint in case of custom home, we will add on top of that
this way we have both /path/to/custom/home and /home/$user mounted inside the container, making PWD/workdir work seamlessly between host/container, and maintaining file access when entering the container, whilst still having a different $HOME to litter with dotfiles and whatnot
from distrobox.
Thanks again @89luca89. You are right when I run it from /tmp it works. I'll try out the new commit and let you know.
from distrobox.
@89luca89 the new commit does exactly what you said. It opens in the current directory (weather I am in $HOME in the host or not) but litters in the given custom directory. Awesome.
from distrobox.
Hello ,
i already know that this feature works well , but can someone tell me of i can create a container with pre configured homedir even i f i pass the -H argument to give it a custom homedir ?
i mean i created a Containerfile , which creates an image so i can use it with distrobox , but the config is not working when i use the -H to give my new created distrobox a new path for the Home dir
does anyone know how to acheive this ?
from distrobox.
Related Issues (20)
- [Error] /usr/local/bin/docker: line 189: XDG_RUNTIME_DIR: unbound variable HOT 1
- [Error] Extra flags in app export not working as expected with vs code HOT 1
- [Discussion] Service units and assemble for managed distroboxes
- [Error] Container with root + init logs out host user when first running distrobox enter HOT 1
- [Error] distrobox ephemeral --root ; ctrl-c --- ENDLESS SUDO LOOP HOT 1
- [Error] microphone, speakers, and webcam are not found HOT 9
- host-spawn / distrobox-host-exec seems to do nothing with distrobox installed in OpenSUSE MicroOS HOT 4
- Container's App Icons System Tray Integration (All Desktops) [Suggestion]
- [Suggestion] Return error when command run with `distrobox-host-exec` fails HOT 2
- [Suggestion] Officially support the `linuxserver/steamos` container HOT 2
- [Discussion] Distrobox is acting differently, and kind of broken, depending on how I launch it HOT 3
- [Discussion] Provide migration path for existing exports due to login changes HOT 2
- [Error] PR1069 breaks accessing character devices based on group permissions HOT 4
- [Error] Fedora's shadow-utils passwd implementation needs '--stdin' HOT 3
- [Error] "fish: command substitutions not allowed here" when attempting to enter container HOT 1
- [Bug] DBX_CONTAINER_HOME_PREFIX not working as expected
- [Suggestion] Install script should also install zsh completions HOT 2
- [Error] Nvidia integration is not working HOT 4
- [Error] Garuda Linux /sys is mounted but not shared HOT 1
- [Error] Error starting container ubuntu on Ubuntu 22.04 with WSL 2 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from distrobox.