Giter Site home page Giter Site logo

Comments (12)

89luca89 avatar 89luca89 commented on May 15, 2024 1

After some test this is working as intended, merging it and closing this, it will be available in next release 👍

from distrobox.

89luca89 avatar 89luca89 commented on May 15, 2024

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.

yilkalargaw avatar yilkalargaw commented on May 15, 2024

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.

89luca89 avatar 89luca89 commented on May 15, 2024

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.

89luca89 avatar 89luca89 commented on May 15, 2024

@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.

89luca89 avatar 89luca89 commented on May 15, 2024

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.

89luca89 avatar 89luca89 commented on May 15, 2024

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.

yilkalargaw avatar yilkalargaw commented on May 15, 2024

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.

89luca89 avatar 89luca89 commented on May 15, 2024

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.

yilkalargaw avatar yilkalargaw commented on May 15, 2024

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.

yilkalargaw avatar yilkalargaw commented on May 15, 2024

@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.

Mehdi-YC avatar Mehdi-YC commented on May 15, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.