Skip to content

Commit

Permalink
Release 24.03
Browse files Browse the repository at this point in the history
  • Loading branch information
accetto committed Mar 11, 2024
1 parent 3795058 commit dbed7d5
Show file tree
Hide file tree
Showing 24 changed files with 317 additions and 91 deletions.
3 changes: 1 addition & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,9 @@
# '**' matches nested directories (e.g. 'a/**/z')
# recommended files on 'https://github.com/github/gitignore'

..developer*
.vscode
.cache*
.debugger*
.developer*
.favorites.json
.g3-cache*
.secret*
Expand Down
26 changes: 26 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,28 @@

***

### Release 24.03

This is the first `G3v5` release.
It also introduces the [portable Visual Studio Code][vscode-portable] installation.

*Remark*: The version number `G3v4` has been skipped, to align the numbering with the sibling project [accetto/ubuntu-vnc-xfce-g3][accetto-github-ubuntu-vnc-xfce-g3].

The updated script `set_user_permissions.sh`, which is part of Dockerfiles, skips the hidden files and directories now.
It generally should not have any unwanted side effects, but it may make a difference in some scenarios, hence the version increase.

The default `Visual Studio Code` installation path is `$HOME/.vscode-portable/code` and it can be changed by setting the build argument `ARG_VSCODE_PATH`.

By setting the build argument `ARG_VSCODE_VERSION` it's possible to install a particular `Visual Studio Code` version.

The complete `Visual Studio Code` profile is by default in the folder `$HOME/.vscode-portable/code/data`.

Note that the portable `Visual Studio Code` does not support automatic updates.
However, manual updating is really easy.
Visit the official [Portable Mode][vscode-portable] page for more information.

Alternatively you can pull or build an updated `accetto` image containing the new `Visual Studio Code` version.

### Release 23.12

This release brings new images containing the free open-source utility `NVM` (Node Version Manager), which allows installing and using multiple `Node.js` versions concurrently. No `Node.js` version is installed by default.
Expand Down Expand Up @@ -459,3 +481,7 @@ This is just a maintenance release.

[sibling-wiki-building-stages]: https://github.com/accetto/ubuntu-vnc-xfce-g3/wiki/Building-stages
[sibling-wiki-how-ci-works]: https://github.com/accetto/ubuntu-vnc-xfce-g3/wiki/How-CI-works

<!-- Other links -->

[vscode-portable]: https://code.visualstudio.com/docs/editor/portable
16 changes: 13 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Project `accetto/headless-coding-g3`

Version: G3v3
Version: G3v5

***

Expand Down Expand Up @@ -95,11 +95,19 @@ The **first generation** (G1) contains the GitHub repository [accetto/ubuntu-vnc

### Project versions

This file describes the **third version** (G3v3) of the project, which however corresponds to the **fourth version** (G3v4) of the **sibling project** [accetto/ubuntu-vnc-xfce-g3][accetto-github-ubuntu-vnc-xfce-g3].
This file describes the **fifth version** (G3v5) of the project.

*Remark*: The version number `G3v4` has been skipped, to align the numbering with the **sibling project** [accetto/ubuntu-vnc-xfce-g3][accetto-github-ubuntu-vnc-xfce-g3].

The **second version** (G3v2) and the **first version** (G3v1, or simply G3) will still be available in this GitHub repository as the branches `archived-generation-g3v2-ubuntu` and `archived-generation-g3v1`.
The **third version** (G3v3) was not archived, because the changes are minor.

The version `G3v5` brings only one significant change comparing to the previous version `G3v3` and it also introduces the [portable Visual Studio Code][vscode-portable] installation.

The version `G3v3` brings the following major changes comparing to the previous version `G3v2`:
- The updated script `set_user_permissions.sh`, which is part of Dockerfiles, skips the hidden files and directories now.
It generally should not have any unwanted side effects, but it may make a difference in some scenarios, hence the version increase.

The version `G3v3` has brought the following major changes comparing to the previous version `G3v2`:

- The updated startup scripts that support overriding the user ID (`id`) and group ID (`gid`) without needing the former build argument `ARG_FEATURES_USER_GROUP_OVERRIDE`, which has been removed.
- The user ID and the group ID can be overridden during the build time (`docker build`) and the run time (`docker run`).
Expand Down Expand Up @@ -226,8 +234,10 @@ Credit goes to all the countless people and companies, who contribute to open so
[firefox]: https://www.mozilla.org
[novnc]: https://github.com/kanaka/noVNC
[tigervnc]: http://tigervnc.org
[vscode-portable]: https://code.visualstudio.com/docs/editor/portable
[xfce]: http://www.xfce.org


[badge-github-release]: https://badgen.net/github/release/accetto/headless-coding-g3?icon=github&label=release

[badge-github-release-date]: https://img.shields.io/github/release-date/accetto/headless-coding-g3?logo=github
Expand Down
45 changes: 32 additions & 13 deletions docker/Dockerfile.xfce.nodejs
Original file line number Diff line number Diff line change
Expand Up @@ -364,33 +364,52 @@ EXPOSE "${NODEJS_PORT}"
### stage_vscode
################

FROM stage_nodejs as stage_vscode
FROM merge_stage_browser as stage_vscode
ARG ARG_APT_NO_RECOMMENDS
ARG ARG_VSCODE_DISTRO
ARG ARG_VSCODE_VERSION
ARG ARG_VSCODE_FILE
ARG ARG_VSCODE_PATH

ENV \
DONT_PROMPT_WSL_INSTALL=1 \
FEATURES_VSCODE=1
FEATURES_VSCODE=1 \
VSCODE_PATH="${HOME}/.vscode-portable/code"

RUN \
--mount=type=cache,from=stage_cache,sharing=locked,source=/var/cache/apt,target=/var/cache/apt \
--mount=type=cache,from=stage_cache,sharing=locked,source=/var/lib/apt,target=/var/lib/apt \
DEBIAN_FRONTEND=noninteractive apt-get install -y "${ARG_APT_NO_RECOMMENDS:+--no-install-recommends}" \
curl \
git \
gpg \
libasound2 \
libxshmfence1
libgbm1 \
libnss3

RUN \
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg \
&& install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/ \
&& sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list' \
&& apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y \
apt-transport-https \
code \
&& rm -f "${HOME}"/packages.microsoft.gpg
--mount=type=cache,from=stage_cache,sharing=locked,source=/var/cache/apt,target=/var/cache/apt \
--mount=type=cache,from=stage_cache,sharing=locked,source=/var/lib/apt,target=/var/lib/apt \
--mount=type=cache,from=stage_cache,sharing=locked,source=/tmp/g3-cache/,target=/tmp/g3-cache/ \
VSCODE_DISTRO="${ARG_VSCODE_DISTRO}" \
VSCODE_VERSION="${ARG_VSCODE_VERSION}" \
VSCODE_FILE="${ARG_VSCODE_FILE}" \
&& if [ ! -s "/tmp/g3-cache/vscode/${VSCODE_FILE}" ] ; then \
wget --show-progress --progress=bar:force:noscroll \
-q -O "/tmp/g3-cache/vscode/${VSCODE_FILE}" \
"https://update.code.visualstudio.com/${VSCODE_VERSION}/${VSCODE_DISTRO}/stable" \
-P "/tmp/g3-cache/vscode" ; \
fi \
&& mkdir -p "${VSCODE_PATH}" "${VSCODE_PATH}/data" \
&& tar xzf "/tmp/g3-cache/vscode/${VSCODE_FILE}" --strip 1 -C "${VSCODE_PATH}" \
&& ln -s "${VSCODE_PATH}/bin/code" /usr/bin/code

COPY "./xfce-vscode/src/home/Desktop" "${HOME}/Desktop"/
COPY "./xfce-vscode/src/home/config" "${HOME}/.config"/
COPY "./xfce-vscode/src/vscode/data" "${VSCODE_PATH}/data"/

RUN \
envsubst <"${HOME}/Desktop/code.desktop" >/tmp/esub.tmp && mv -f /tmp/esub.tmp "${HOME}/Desktop/code.desktop" \
&& cp "${HOME}/Desktop/code.desktop" /usr/share/applications/


###############
Expand Down Expand Up @@ -427,7 +446,7 @@ RUN \
&& echo "${HEADLESS_USER_NAME}:x:${HEADLESS_USER_ID}:${HEADLESS_USER_GROUP_ID}:Default:${HOME}:/bin/bash" >> /etc/passwd \
&& echo "${HEADLESS_USER_NAME} ALL=(ALL:ALL) ALL" | sudo tee /etc/sudoers.d/"${HEADLESS_USER_NAME}" \
&& echo "${ARG_SUDO_INITIAL_PW:-headless}" > "${STARTUPDIR}"/.initial_sudo_password \
&& echo "${HEADLESS_USER_NAME}:$(cat "${STARTUPDIR}"/.initial_sudo_password)" | chpasswd \
&& echo "${HEADLESS_USER_NAME}:$(cat ${STARTUPDIR}/.initial_sudo_password)" | chpasswd \
&& ln -s "${HOME}"/readme.md "${HOME}"/Desktop/README \
&& envsubst <"${HOME}"/Desktop/versionsticker.desktop >/tmp/esub.tmp && mv -f /tmp/esub.tmp "${HOME}"/Desktop/versionsticker.desktop \
&& "${STARTUPDIR}"/set_user_permissions.sh "${STARTUPDIR}" "${HOME}"
Expand Down
46 changes: 33 additions & 13 deletions docker/Dockerfile.xfce.nvm
Original file line number Diff line number Diff line change
Expand Up @@ -346,33 +346,53 @@ USER 0
### stage_vscode
################

FROM stage_nvm as stage_vscode
FROM merge_stage_browser as stage_vscode
ARG ARG_APT_NO_RECOMMENDS
ARG ARG_VSCODE_DISTRO
ARG ARG_VSCODE_VERSION
ARG ARG_VSCODE_FILE
ARG ARG_VSCODE_PATH

ENV \
DONT_PROMPT_WSL_INSTALL=1 \
FEATURES_VSCODE=1
FEATURES_VSCODE=1 \
VSCODE_PATH="${HOME}/.vscode-portable/code"

RUN \
--mount=type=cache,from=stage_cache,sharing=locked,source=/var/cache/apt,target=/var/cache/apt \
--mount=type=cache,from=stage_cache,sharing=locked,source=/var/lib/apt,target=/var/lib/apt \
DEBIAN_FRONTEND=noninteractive apt-get install -y "${ARG_APT_NO_RECOMMENDS:+--no-install-recommends}" \
curl \
git \
gpg \
libasound2 \
libxshmfence1
libgbm1 \
libnss3

RUN \
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg \
&& install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/ \
&& sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list' \
&& apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y \
apt-transport-https \
code \
&& rm -f "${HOME}"/packages.microsoft.gpg
--mount=type=cache,from=stage_cache,sharing=locked,source=/var/cache/apt,target=/var/cache/apt \
--mount=type=cache,from=stage_cache,sharing=locked,source=/var/lib/apt,target=/var/lib/apt \
--mount=type=cache,from=stage_cache,sharing=locked,source=/tmp/g3-cache/,target=/tmp/g3-cache/ \
VSCODE_DISTRO="${ARG_VSCODE_DISTRO}" \
VSCODE_VERSION="${ARG_VSCODE_VERSION}" \
VSCODE_FILE="${ARG_VSCODE_FILE}" \
&& if [ ! -s "/tmp/g3-cache/vscode/${VSCODE_FILE}" ] ; then \
wget --show-progress --progress=bar:force:noscroll \
-q -O "/tmp/g3-cache/vscode/${VSCODE_FILE}" \
"https://update.code.visualstudio.com/${VSCODE_VERSION}/${VSCODE_DISTRO}/stable" \
-P "/tmp/g3-cache/vscode" ; \
fi \
&& mkdir -p "${VSCODE_PATH}" "${VSCODE_PATH}/data" \
&& tar xzf "/tmp/g3-cache/vscode/${VSCODE_FILE}" --strip 1 -C "${VSCODE_PATH}" \
&& ln -s "${VSCODE_PATH}/bin/code" /usr/bin/code

COPY "./xfce-vscode/src/home/Desktop" "${HOME}/Desktop"/
COPY "./xfce-vscode/src/home/config" "${HOME}/.config"/
COPY "./xfce-vscode/src/vscode/data" "${VSCODE_PATH}/data"/

RUN \
envsubst <"${HOME}/Desktop/code.desktop" >/tmp/esub.tmp && mv -f /tmp/esub.tmp "${HOME}/Desktop/code.desktop" \
&& cp "${HOME}/Desktop/code.desktop" /usr/share/applications/


###############
### FINAL STAGE
Expand Down Expand Up @@ -408,7 +428,7 @@ RUN \
&& echo "${HEADLESS_USER_NAME}:x:${HEADLESS_USER_ID}:${HEADLESS_USER_GROUP_ID}:Default:${HOME}:/bin/bash" >> /etc/passwd \
&& echo "${HEADLESS_USER_NAME} ALL=(ALL:ALL) ALL" | sudo tee /etc/sudoers.d/"${HEADLESS_USER_NAME}" \
&& echo "${ARG_SUDO_INITIAL_PW:-headless}" > "${STARTUPDIR}"/.initial_sudo_password \
&& echo "${HEADLESS_USER_NAME}:$(cat "${STARTUPDIR}"/.initial_sudo_password)" | chpasswd \
&& echo "${HEADLESS_USER_NAME}:$(cat ${STARTUPDIR}/.initial_sudo_password)" | chpasswd \
&& ln -s "${HOME}"/readme.md "${HOME}"/Desktop/README \
&& envsubst <"${HOME}"/Desktop/versionsticker.desktop >/tmp/esub.tmp && mv -f /tmp/esub.tmp "${HOME}"/Desktop/versionsticker.desktop \
&& "${STARTUPDIR}"/set_user_permissions.sh "${STARTUPDIR}" "${HOME}"
Expand Down
2 changes: 1 addition & 1 deletion docker/Dockerfile.xfce.postman
Original file line number Diff line number Diff line change
Expand Up @@ -394,7 +394,7 @@ RUN \
&& echo "${HEADLESS_USER_NAME}:x:${HEADLESS_USER_ID}:${HEADLESS_USER_GROUP_ID}:Default:${HOME}:/bin/bash" >> /etc/passwd \
&& echo "${HEADLESS_USER_NAME} ALL=(ALL:ALL) ALL" | sudo tee /etc/sudoers.d/"${HEADLESS_USER_NAME}" \
&& echo "${ARG_SUDO_INITIAL_PW:-headless}" > "${STARTUPDIR}"/.initial_sudo_password \
&& echo "${HEADLESS_USER_NAME}:$(cat "${STARTUPDIR}"/.initial_sudo_password)" | chpasswd \
&& echo "${HEADLESS_USER_NAME}:$(cat ${STARTUPDIR}/.initial_sudo_password)" | chpasswd \
&& ln -s "${HOME}"/readme.md "${HOME}"/Desktop/README \
&& envsubst <"${HOME}"/Desktop/versionsticker.desktop >/tmp/esub.tmp && mv -f /tmp/esub.tmp "${HOME}"/Desktop/versionsticker.desktop \
&& "${STARTUPDIR}"/set_user_permissions.sh "${STARTUPDIR}" "${HOME}"
Expand Down
45 changes: 32 additions & 13 deletions docker/Dockerfile.xfce.python
Original file line number Diff line number Diff line change
Expand Up @@ -339,33 +339,52 @@ COPY ./xfce-python/src/samples "${HOME}"/projects/samples
### stage_vscode
################

FROM stage_python as stage_vscode
FROM merge_stage_browser as stage_vscode
ARG ARG_APT_NO_RECOMMENDS
ARG ARG_VSCODE_DISTRO
ARG ARG_VSCODE_VERSION
ARG ARG_VSCODE_FILE
ARG ARG_VSCODE_PATH

ENV \
DONT_PROMPT_WSL_INSTALL=1 \
FEATURES_VSCODE=1
FEATURES_VSCODE=1 \
VSCODE_PATH="${HOME}/.vscode-portable/code"

RUN \
--mount=type=cache,from=stage_cache,sharing=locked,source=/var/cache/apt,target=/var/cache/apt \
--mount=type=cache,from=stage_cache,sharing=locked,source=/var/lib/apt,target=/var/lib/apt \
DEBIAN_FRONTEND=noninteractive apt-get install -y "${ARG_APT_NO_RECOMMENDS:+--no-install-recommends}" \
curl \
git \
gpg \
libasound2 \
libxshmfence1
libgbm1 \
libnss3

RUN \
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg \
&& install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/ \
&& sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list' \
&& apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y \
apt-transport-https \
code \
&& rm -f "${HOME}"/packages.microsoft.gpg
--mount=type=cache,from=stage_cache,sharing=locked,source=/var/cache/apt,target=/var/cache/apt \
--mount=type=cache,from=stage_cache,sharing=locked,source=/var/lib/apt,target=/var/lib/apt \
--mount=type=cache,from=stage_cache,sharing=locked,source=/tmp/g3-cache/,target=/tmp/g3-cache/ \
VSCODE_DISTRO="${ARG_VSCODE_DISTRO}" \
VSCODE_VERSION="${ARG_VSCODE_VERSION}" \
VSCODE_FILE="${ARG_VSCODE_FILE}" \
&& if [ ! -s "/tmp/g3-cache/vscode/${VSCODE_FILE}" ] ; then \
wget --show-progress --progress=bar:force:noscroll \
-q -O "/tmp/g3-cache/vscode/${VSCODE_FILE}" \
"https://update.code.visualstudio.com/${VSCODE_VERSION}/${VSCODE_DISTRO}/stable" \
-P "/tmp/g3-cache/vscode" ; \
fi \
&& mkdir -p "${VSCODE_PATH}" "${VSCODE_PATH}/data" \
&& tar xzf "/tmp/g3-cache/vscode/${VSCODE_FILE}" --strip 1 -C "${VSCODE_PATH}" \
&& ln -s "${VSCODE_PATH}/bin/code" /usr/bin/code

COPY "./xfce-vscode/src/home/Desktop" "${HOME}/Desktop"/
COPY "./xfce-vscode/src/home/config" "${HOME}/.config"/
COPY "./xfce-vscode/src/vscode/data" "${VSCODE_PATH}/data"/

RUN \
envsubst <"${HOME}/Desktop/code.desktop" >/tmp/esub.tmp && mv -f /tmp/esub.tmp "${HOME}/Desktop/code.desktop" \
&& cp "${HOME}/Desktop/code.desktop" /usr/share/applications/


###############
Expand Down Expand Up @@ -401,7 +420,7 @@ RUN \
&& echo "${HEADLESS_USER_NAME}:x:${HEADLESS_USER_ID}:${HEADLESS_USER_GROUP_ID}:Default:${HOME}:/bin/bash" >> /etc/passwd \
&& echo "${HEADLESS_USER_NAME} ALL=(ALL:ALL) ALL" | sudo tee /etc/sudoers.d/"${HEADLESS_USER_NAME}" \
&& echo "${ARG_SUDO_INITIAL_PW:-headless}" > "${STARTUPDIR}"/.initial_sudo_password \
&& echo "${HEADLESS_USER_NAME}:$(cat "${STARTUPDIR}"/.initial_sudo_password)" | chpasswd \
&& echo "${HEADLESS_USER_NAME}:$(cat ${STARTUPDIR}/.initial_sudo_password)" | chpasswd \
&& ln -s "${HOME}"/readme.md "${HOME}"/Desktop/README \
&& envsubst <"${HOME}"/Desktop/versionsticker.desktop >/tmp/esub.tmp && mv -f /tmp/esub.tmp "${HOME}"/Desktop/versionsticker.desktop \
&& "${STARTUPDIR}"/set_user_permissions.sh "${STARTUPDIR}" "${HOME}"
Expand Down
41 changes: 29 additions & 12 deletions docker/Dockerfile.xfce.vscode
Original file line number Diff line number Diff line change
Expand Up @@ -314,10 +314,15 @@ FROM ${ARG_MERGE_STAGE_BROWSER_BASE} as merge_stage_browser

FROM merge_stage_browser as stage_vscode
ARG ARG_APT_NO_RECOMMENDS
ARG ARG_VSCODE_DISTRO
ARG ARG_VSCODE_VERSION
ARG ARG_VSCODE_FILE
ARG ARG_VSCODE_PATH

ENV \
DONT_PROMPT_WSL_INSTALL=1 \
FEATURES_VSCODE=1
FEATURES_VSCODE=1 \
VSCODE_PATH="${HOME}/.vscode-portable/code"

RUN \
--mount=type=cache,from=stage_cache,sharing=locked,source=/var/cache/apt,target=/var/cache/apt \
Expand All @@ -327,20 +332,32 @@ RUN \
git \
gpg \
libasound2 \
libxshmfence1
libgbm1 \
libnss3

RUN \
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg \
&& install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/ \
&& sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list' \
&& apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y \
apt-transport-https \
code \
&& rm -f "${HOME}"/packages.microsoft.gpg
--mount=type=cache,from=stage_cache,sharing=locked,source=/var/cache/apt,target=/var/cache/apt \
--mount=type=cache,from=stage_cache,sharing=locked,source=/var/lib/apt,target=/var/lib/apt \
--mount=type=cache,from=stage_cache,sharing=locked,source=/tmp/g3-cache/,target=/tmp/g3-cache/ \
VSCODE_DISTRO="${ARG_VSCODE_DISTRO}" \
VSCODE_VERSION="${ARG_VSCODE_VERSION}" \
VSCODE_FILE="${ARG_VSCODE_FILE}" \
&& if [ ! -s "/tmp/g3-cache/vscode/${VSCODE_FILE}" ] ; then \
wget --show-progress --progress=bar:force:noscroll \
-q -O "/tmp/g3-cache/vscode/${VSCODE_FILE}" \
"https://update.code.visualstudio.com/${VSCODE_VERSION}/${VSCODE_DISTRO}/stable" \
-P "/tmp/g3-cache/vscode" ; \
fi \
&& mkdir -p "${VSCODE_PATH}" "${VSCODE_PATH}/data" \
&& tar xzf "/tmp/g3-cache/vscode/${VSCODE_FILE}" --strip 1 -C "${VSCODE_PATH}" \
&& ln -s "${VSCODE_PATH}/bin/code" /usr/bin/code

COPY "./xfce-vscode/src/home/Desktop" "${HOME}/Desktop"/
COPY "./xfce-vscode/src/home/config" "${HOME}/.config"/
COPY "./xfce-vscode/src/vscode/data" "${VSCODE_PATH}/data"/

RUN \
envsubst <"${HOME}/Desktop/code.desktop" >/tmp/esub.tmp && mv -f /tmp/esub.tmp "${HOME}/Desktop/code.desktop" \
&& cp "${HOME}/Desktop/code.desktop" /usr/share/applications/


###############
Expand Down Expand Up @@ -376,7 +393,7 @@ RUN \
&& echo "${HEADLESS_USER_NAME}:x:${HEADLESS_USER_ID}:${HEADLESS_USER_GROUP_ID}:Default:${HOME}:/bin/bash" >> /etc/passwd \
&& echo "${HEADLESS_USER_NAME} ALL=(ALL:ALL) ALL" | sudo tee /etc/sudoers.d/"${HEADLESS_USER_NAME}" \
&& echo "${ARG_SUDO_INITIAL_PW:-headless}" > "${STARTUPDIR}"/.initial_sudo_password \
&& echo "${HEADLESS_USER_NAME}:$(cat "${STARTUPDIR}"/.initial_sudo_password)" | chpasswd \
&& echo "${HEADLESS_USER_NAME}:$(cat ${STARTUPDIR}/.initial_sudo_password)" | chpasswd \
&& ln -s "${HOME}"/readme.md "${HOME}"/Desktop/README \
&& envsubst <"${HOME}"/Desktop/versionsticker.desktop >/tmp/esub.tmp && mv -f /tmp/esub.tmp "${HOME}"/Desktop/versionsticker.desktop \
&& "${STARTUPDIR}"/set_user_permissions.sh "${STARTUPDIR}" "${HOME}"
Expand Down
Loading

0 comments on commit dbed7d5

Please sign in to comment.