Guix中使用 guix environment –container 容器化应用程序会遇到的问题

guix environment --container 是一个可以随时手搓容器环境的强大功能。 在使用中会遇到以下问题,并附带解决方案,如果有多种解决方案请补充。

容器内 glibclocale 问题

  1. 在~guix environment –container~ 中加入以下选项:

    例:

    guix environment --container\
         ...
         -E^LANG$\
         -E^GUIX_LOCPATH$\
         --ad-hoc glibc-utf8-locales\
         ...
    

容器内 tls 的证书问题

  1. guix environment --container 中加入以下选项:

    例:

    guix environment --container\
         ...
         --expose=/etc/ssl \
         --ad-hoc nss-certs curl\
         ...
    

提示:

加入curl包的原因是它会提供许多tls应用使用的环境变量

容器内访问容器外部的 wayland 会话

  1. guix environment --container 中加入以下选项:

    例:

    guix environment --container\
         ...
         -E^XDG_RUNTIME_DIR$\
         -E^WAYLAND_DISPLAY$\
         --share=${XDG_RUNTIME_DIR}/${WAYLAND_DISPLAY}\
         ...
    

容器内的字体问题

  1. 在~guix environment –container~ 中加入以下选项:

    例:

    guix environment --container\
         ...
         --link-profile
         --ad-hoc fontconfig\
         --ad-hoc font1\
         --ad-hoc font2\
         ...
    

警告:

请确保容器没有包括容器外的${HOME}/.guix-profile

容器内的gtk主题

  1. 在~guix environment –container~ 中加入以下选项:

    例:

    guix environment --container\
         ...
         --expose=${HOME}/.gtkrc-2.0\
         --expose=${HOME}/.config/gtk-3.0/settings.ini\
         --ad-hoc gtk-theme1\
         --ad-hoc gtk-theme2\
         ...
         --ad-hoc icon-theme1\
         --ad-hoc icon-theme2\
         ...
    

Guix中使用 guile-studio 作为编写 guile 代码的环境

Guix中使用 guix system vm 会遇到的问题