-
Notifications
You must be signed in to change notification settings - Fork 62
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Loading status checks…
feat: Update base image (#53)
Showing
17 changed files
with
1,091 additions
and
424 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
name: Publish to Registry (Melodic) | ||
on: | ||
push: | ||
branches: | ||
- master | ||
paths: | ||
- "melodic/**" | ||
- ".github/workflows/deploy-melodic.yml" | ||
schedule: | ||
- cron: "7 4 * * 0" # Weekly on Sundays at 13:07 (JST) | ||
workflow_dispatch: | ||
|
||
env: | ||
DOCKER_USERNAME: tiryoh | ||
DOCKER_IMAGENAME: ros | ||
GIT_CONFIG_USER: Tiryoh@GitHubActions | ||
GIT_CONFIG_EMAIL: [email protected] | ||
|
||
jobs: | ||
build-and-deploy: | ||
runs-on: ubuntu-latest | ||
timeout-minutes: 120 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
submodules: true | ||
- uses: Tiryoh/docker-ros2-desktop-vnc/.github/actions/deploy@master | ||
with: | ||
ros-distro: melodic | ||
latest: false | ||
gha-job-name: build-and-deploy | ||
dockerhub-token: ${{ secrets.DOCKERHUB_TOKEN }} | ||
github-token: ${{ secrets.GITHUB_TOKEN }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
name: Publish to Registry (Noetic) | ||
on: | ||
push: | ||
branches: | ||
- master | ||
paths: | ||
- "noetic/**" | ||
- ".github/workflows/deploy-noetic.yml" | ||
schedule: | ||
- cron: "7 4 * * 0" # Weekly on Sundays at 13:07 (JST) | ||
workflow_dispatch: | ||
|
||
env: | ||
DOCKER_USERNAME: tiryoh | ||
DOCKER_IMAGENAME: ros | ||
GIT_CONFIG_USER: Tiryoh@GitHubActions | ||
GIT_CONFIG_EMAIL: [email protected] | ||
|
||
jobs: | ||
build-and-deploy: | ||
runs-on: ubuntu-latest | ||
timeout-minutes: 120 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
submodules: true | ||
- uses: Tiryoh/docker-ros2-desktop-vnc/.github/actions/deploy@master | ||
with: | ||
ros-distro: noetic | ||
latest: false | ||
gha-job-name: build-and-deploy | ||
dockerhub-token: ${{ secrets.DOCKERHUB_TOKEN }} | ||
github-token: ${{ secrets.GITHUB_TOKEN }} |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
name: Build and Test (Melodic) | ||
on: | ||
pull_request: | ||
branches: | ||
- master | ||
paths: | ||
- "melodic/**" | ||
- ".github/workflows/test-melodic.yml" | ||
schedule: | ||
- cron: "0 2 * * 0" # Weekly on Sundays at 02:00 | ||
workflow_dispatch: | ||
|
||
env: | ||
DOCKER_USERNAME: tiryoh | ||
DOCKER_IMAGENAME: ros | ||
|
||
jobs: | ||
build: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
arch: [arm64, amd64] | ||
runs-on: ubuntu-latest | ||
timeout-minutes: 120 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
submodules: true | ||
- uses: Tiryoh/docker-ros2-desktop-vnc/.github/actions/test@master | ||
with: | ||
ros-distro: melodic | ||
arch: ${{ matrix.arch }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
name: Build and Test (Noetic) | ||
on: | ||
pull_request: | ||
branches: | ||
- master | ||
paths: | ||
- "noetic/**" | ||
- ".github/workflows/test-noetic.yml" | ||
schedule: | ||
- cron: "0 2 * * 0" # Weekly on Sundays at 02:00 | ||
workflow_dispatch: | ||
|
||
env: | ||
DOCKER_USERNAME: tiryoh | ||
DOCKER_IMAGENAME: ros | ||
|
||
jobs: | ||
build: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
arch: [arm64, amd64] | ||
runs-on: ubuntu-latest | ||
timeout-minutes: 120 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
submodules: true | ||
- uses: Tiryoh/docker-ros2-desktop-vnc/.github/actions/test@master | ||
with: | ||
ros-distro: noetic | ||
arch: ${{ matrix.arch }} |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,14 +1,132 @@ | ||
FROM dorowu/ubuntu-desktop-lxde-vnc:bionic | ||
# Copyright 2020-2024 Tiryoh<tiryoh@gmail.com> | ||
# | ||
# Licensed under the Apache License, Version 2.0 (the "License"); | ||
# you may not use this file except in compliance with the License. | ||
# You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
# | ||
# This Dockerfile is based on https://github.com/AtsushiSaito/docker-ubuntu-sweb | ||
# which is released under the Apache-2.0 license. | ||
|
||
FROM ubuntu:bionic-20230530 | ||
|
||
# Automatic platform ARGs in the global scope | ||
# https://docs.docker.com/reference/dockerfile/#automatic-platform-args-in-the-global-scope | ||
ARG TARGETPLATFORM | ||
ARG TARGETARCH | ||
|
||
LABEL maintainer="Tiryoh<tiryoh@gmail.com>" | ||
|
||
SHELL ["/bin/bash", "-c"] | ||
|
||
# Upgrade OS | ||
RUN apt-get update -q && \ | ||
DEBIAN_FRONTEND=noninteractive apt-get upgrade -y && \ | ||
apt-get autoclean && \ | ||
apt-get autoremove && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
# Install Ubuntu Mate desktop | ||
RUN apt-get update -q && \ | ||
DEBIAN_FRONTEND=noninteractive apt-get install -y \ | ||
ubuntu-mate-desktop && \ | ||
apt-get autoclean && \ | ||
apt-get autoremove && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
# Add Package | ||
RUN apt-get update && \ | ||
DEBIAN_FRONTEND=noninteractive apt-get install -y \ | ||
tigervnc-standalone-server tigervnc-common \ | ||
supervisor wget curl gosu git sudo python-pip python3-pip \ | ||
build-essential vim sudo lsb-release locales \ | ||
bash-completion tzdata terminator && \ | ||
apt-get autoclean && \ | ||
apt-get autoremove && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
# Add tini | ||
RUN curl -sL "https://github.com/krallin/tini/releases/download/v0.19.0/tini-$TARGETARCH" -o /usr/bin/tini && \ | ||
chmod +x /usr/bin/tini | ||
|
||
# Fix numpy install error | ||
# https://github.com/numpy/numpy/issues/24377 | ||
RUN if [ "$TARGETPLATFORM" = "linux/arm64" ]; then \ | ||
pip3 install --no-cache-dir 'cython<3' && \ | ||
pip3 install --no-cache-dir numpy; \ | ||
fi | ||
# noVNC and Websockify | ||
RUN git clone https://github.com/AtsushiSaito/noVNC.git -b add_clipboard_support /usr/lib/novnc | ||
RUN pip3 install --no-cache-dir git+https://github.com/novnc/websockify.git@v0.10.0 | ||
RUN ln -s /usr/lib/novnc/vnc.html /usr/lib/novnc/index.html | ||
|
||
# Set remote resize function enabled by default | ||
RUN sed -i "s/UI.initSetting('resize', 'off');/UI.initSetting('resize', 'remote');/g" /usr/lib/novnc/app/ui.js | ||
|
||
# Disable auto update and crash report | ||
RUN sed -i 's/Prompt=.*/Prompt=never/' /etc/update-manager/release-upgrades | ||
RUN sed -i 's/enabled=1/enabled=0/g' /etc/default/apport | ||
|
||
# Install Firefox | ||
RUN DEBIAN_FRONTEND=noninteractive add-apt-repository ppa:mozillateam/ppa -y && \ | ||
echo 'Package: *' > /etc/apt/preferences.d/mozilla-firefox && \ | ||
echo 'Pin: release o=LP-PPA-mozillateam' >> /etc/apt/preferences.d/mozilla-firefox && \ | ||
echo 'Pin-Priority: 1001' >> /etc/apt/preferences.d/mozilla-firefox && \ | ||
apt-get update -q && \ | ||
apt-get install -y --allow-downgrades \ | ||
firefox && \ | ||
apt-get autoclean && \ | ||
apt-get autoremove && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
# Install VSCodium | ||
# The latest VSCodium requires new gcc which is not ready for Ubuntu 18.04 | ||
RUN apt-get update -q && \ | ||
curl -sL https://github.com/VSCodium/vscodium/releases/download/1.84.2.23319/codium_1.84.2.23319_${TARGETARCH}.deb -o codium.deb && \ | ||
apt-get install -y ./codium.deb && \ | ||
rm codium.deb && \ | ||
apt-get autoclean && \ | ||
apt-get autoremove && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
# Install ROS | ||
ENV ROS_DISTRO melodic | ||
# desktop or ros-base | ||
ARG INSTALL_PACKAGE=desktop | ||
|
||
RUN apt-get update -q && \ | ||
apt-get upgrade -yq && \ | ||
apt-get install -yq wget curl git build-essential vim sudo lsb-release locales bash-completion tzdata gosu && \ | ||
apt-get install -y curl gnupg2 lsb-release && \ | ||
curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg && \ | ||
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros/ubuntu $(lsb_release -cs) main" | tee /etc/apt/sources.list.d/ros.list > /dev/null && \ | ||
apt-get update -q && \ | ||
apt-get install -y ros-${ROS_DISTRO}-${INSTALL_PACKAGE} \ | ||
python-rosinstall \ | ||
python-rosinstall-generator \ | ||
python-wstool \ | ||
python-catkin-tools \ | ||
python-rosdep python3-vcstool && \ | ||
rosdep init && \ | ||
rm -rf /var/lib/apt/lists/* | ||
RUN useradd --create-home --home-dir /home/ubuntu --shell /bin/bash --user-group --groups adm,sudo ubuntu && \ | ||
echo ubuntu:ubuntu | chpasswd && \ | ||
echo "ubuntu ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers | ||
RUN git clone https://github.com/Tiryoh/ros_setup_scripts_ubuntu.git /tmp/ros_setup_scripts_ubuntu && \ | ||
gosu ubuntu /tmp/ros_setup_scripts_ubuntu/ros-melodic-desktop.sh && \ | ||
|
||
RUN rosdep update --include-eol-distros | ||
|
||
RUN apt-get update -q && \ | ||
apt-get install -y \ | ||
ros-${ROS_DISTRO}-gazebo-ros-pkgs && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
# Enable apt-get completion after running `apt-get update` in the container | ||
RUN rm /etc/apt/apt.conf.d/docker-clean | ||
|
||
COPY ./entrypoint.sh / | ||
ENTRYPOINT [ "/bin/bash", "-c", "/entrypoint.sh" ] | ||
|
||
ENV USER ubuntu | ||
ENV PASSWD ubuntu |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,354 @@ | ||
#!/bin/bash | ||
|
||
# Create User | ||
USER=${USER:-root} | ||
HOME=/root | ||
if [ "$USER" != "root" ]; then | ||
echo "* enable custom user: $USER" | ||
useradd --create-home --shell /bin/bash --user-group --groups adm,sudo "$USER" | ||
echo "$USER ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers | ||
if [ -z "$PASSWORD" ]; then | ||
echo " set default password to \"ubuntu\"" | ||
PASSWORD=ubuntu | ||
fi | ||
HOME="/home/$USER" | ||
echo "$USER:$PASSWORD" | /usr/sbin/chpasswd 2> /dev/null || echo "" | ||
cp -r /root/{.config,.gtkrc-2.0,.asoundrc} "$HOME" 2>/dev/null | ||
chown -R "$USER:$USER" "$HOME" | ||
[ -d "/dev/snd" ] && chgrp -R adm /dev/snd | ||
fi | ||
|
||
# VNC password | ||
VNC_PASSWORD=${PASSWORD:-ubuntu} | ||
|
||
mkdir -p "$HOME/.vnc" | ||
echo "$VNC_PASSWORD" | vncpasswd -f > "$HOME/.vnc/passwd" | ||
chmod 600 "$HOME/.vnc/passwd" | ||
chown -R "$USER:$USER" "$HOME" | ||
sed -i "s/password = WebUtil.getConfigVar('password');/password = '$VNC_PASSWORD'/" /usr/lib/novnc/app/ui.js | ||
|
||
# xstartup | ||
XSTARTUP_PATH="$HOME/.vnc/xstartup" | ||
cat << EOF > "$XSTARTUP_PATH" | ||
#!/bin/sh | ||
unset DBUS_SESSION_BUS_ADDRESS | ||
mate-session | ||
EOF | ||
chown "$USER:$USER" "$XSTARTUP_PATH" | ||
chmod 755 "$XSTARTUP_PATH" | ||
|
||
# vncserver launch | ||
VNCRUN_PATH="$HOME/.vnc/vnc_run.sh" | ||
cat << EOF > "$VNCRUN_PATH" | ||
#!/bin/sh | ||
if [ $(uname -m) = "aarch64" ]; then | ||
LD_PRELOAD=/lib/aarch64-linux-gnu/libgcc_s.so.1 vncserver :1 -fg -geometry 1920x1080 -depth 24 | ||
else | ||
vncserver :1 -fg -geometry 1920x1080 -depth 24 | ||
fi | ||
EOF | ||
|
||
# Supervisor | ||
CONF_PATH=/etc/supervisor/conf.d/supervisord.conf | ||
cat << EOF > $CONF_PATH | ||
[supervisord] | ||
nodaemon=true | ||
user=root | ||
[program:vnc] | ||
command=gosu '$USER' bash '$VNCRUN_PATH' | ||
[program:novnc] | ||
command=gosu '$USER' bash -c "websockify --web=/usr/lib/novnc 80 localhost:5901" | ||
EOF | ||
|
||
# colcon | ||
BASHRC_PATH="$HOME/.bashrc" | ||
grep -F "source /opt/ros/$ROS_DISTRO/setup.bash" "$BASHRC_PATH" || echo "source /opt/ros/$ROS_DISTRO/setup.bash" >> "$BASHRC_PATH" | ||
grep -F "export ROS_AUTOMATIC_DISCOVERY_RANGE=" "$BASHRC_PATH" || echo "# export ROS_AUTOMATIC_DISCOVERY_RANGE=LOCALHOST" >> "$BASHRC_PATH" | ||
chown "$USER:$USER" "$BASHRC_PATH" | ||
|
||
# Fix rosdep permission | ||
mkdir -p "$HOME/.ros" | ||
cp -r /root/.ros/rosdep "$HOME/.ros/rosdep" | ||
chown -R "$USER:$USER" "$HOME/.ros" | ||
|
||
# Add terminator shortcut | ||
mkdir -p "$HOME/Desktop" | ||
cat << EOF > "$HOME/Desktop/terminator.desktop" | ||
#!/usr/bin/env xdg-open | ||
[Desktop Entry] | ||
Name=Terminator | ||
Comment=Multiple terminals in one window | ||
TryExec=terminator | ||
Exec=terminator | ||
Icon=terminator | ||
Type=Application | ||
Categories=GNOME;GTK;Utility;TerminalEmulator;System; | ||
StartupNotify=true | ||
X-Ubuntu-Gettext-Domain=terminator | ||
X-Ayatana-Desktop-Shortcuts=NewWindow; | ||
Keywords=terminal;shell;prompt;command;commandline; | ||
[NewWindow Shortcut Group] | ||
Name=Open a New Window | ||
Exec=terminator | ||
TargetEnvironment=Unity | ||
EOF | ||
cat << EOF > "$HOME/Desktop/firefox.desktop" | ||
#!/usr/bin/env xdg-open | ||
[Desktop Entry] | ||
Version=1.0 | ||
Name=Firefox Web Browser | ||
Name[ar]=متصفح الويب فَيَرفُكْس | ||
Name[ast]=Restolador web Firefox | ||
Name[bn]=ফায়ারফক্স ওয়েব ব্রাউজার | ||
Name[ca]=Navegador web Firefox | ||
Name[cs]=Firefox Webový prohlížeč | ||
Name[da]=Firefox - internetbrowser | ||
Name[el]=Περιηγητής Firefox | ||
Name[es]=Navegador web Firefox | ||
Name[et]=Firefoxi veebibrauser | ||
Name[fa]=مرورگر اینترنتی Firefox | ||
Name[fi]=Firefox-selain | ||
Name[fr]=Navigateur Web Firefox | ||
Name[gl]=Navegador web Firefox | ||
Name[he]=דפדפן האינטרנט Firefox | ||
Name[hr]=Firefox web preglednik | ||
Name[hu]=Firefox webböngésző | ||
Name[it]=Firefox Browser Web | ||
Name[ja]=Firefox ウェブ・ブラウザ | ||
Name[ko]=Firefox 웹 브라우저 | ||
Name[ku]=Geroka torê Firefox | ||
Name[lt]=Firefox interneto naršyklė | ||
Name[nb]=Firefox Nettleser | ||
Name[nl]=Firefox webbrowser | ||
Name[nn]=Firefox Nettlesar | ||
Name[no]=Firefox Nettleser | ||
Name[pl]=Przeglądarka WWW Firefox | ||
Name[pt]=Firefox Navegador Web | ||
Name[pt_BR]=Navegador Web Firefox | ||
Name[ro]=Firefox – Navigator Internet | ||
Name[ru]=Веб-браузер Firefox | ||
Name[sk]=Firefox - internetový prehliadač | ||
Name[sl]=Firefox spletni brskalnik | ||
Name[sv]=Firefox webbläsare | ||
Name[tr]=Firefox Web Tarayıcısı | ||
Name[ug]=Firefox توركۆرگۈ | ||
Name[uk]=Веб-браузер Firefox | ||
Name[vi]=Trình duyệt web Firefox | ||
Name[zh_CN]=Firefox 网络浏览器 | ||
Name[zh_TW]=Firefox 網路瀏覽器 | ||
Comment=Browse the World Wide Web | ||
Comment[ar]=تصفح الشبكة العنكبوتية العالمية | ||
Comment[ast]=Restola pela Rede | ||
Comment[bn]=ইন্টারনেট ব্রাউজ করুন | ||
Comment[ca]=Navegueu per la web | ||
Comment[cs]=Prohlížení stránek World Wide Webu | ||
Comment[da]=Surf på internettet | ||
Comment[de]=Im Internet surfen | ||
Comment[el]=Μπορείτε να περιηγηθείτε στο διαδίκτυο (Web) | ||
Comment[es]=Navegue por la web | ||
Comment[et]=Lehitse veebi | ||
Comment[fa]=صفحات شبکه جهانی اینترنت را مرور نمایید | ||
Comment[fi]=Selaa Internetin WWW-sivuja | ||
Comment[fr]=Naviguer sur le Web | ||
Comment[gl]=Navegar pola rede | ||
Comment[he]=גלישה ברחבי האינטרנט | ||
Comment[hr]=Pretražite web | ||
Comment[hu]=A világháló böngészése | ||
Comment[it]=Esplora il web | ||
Comment[ja]=ウェブを閲覧します | ||
Comment[ko]=웹을 돌아 다닙니다 | ||
Comment[ku]=Li torê bigere | ||
Comment[lt]=Naršykite internete | ||
Comment[nb]=Surf på nettet | ||
Comment[nl]=Verken het internet | ||
Comment[nn]=Surf på nettet | ||
Comment[no]=Surf på nettet | ||
Comment[pl]=Przeglądanie stron WWW | ||
Comment[pt]=Navegue na Internet | ||
Comment[pt_BR]=Navegue na Internet | ||
Comment[ro]=Navigați pe Internet | ||
Comment[ru]=Доступ в Интернет | ||
Comment[sk]=Prehliadanie internetu | ||
Comment[sl]=Brskajte po spletu | ||
Comment[sv]=Surfa på webben | ||
Comment[tr]=İnternet'te Gezinin | ||
Comment[ug]=دۇنيادىكى توربەتلەرنى كۆرگىلى بولىدۇ | ||
Comment[uk]=Перегляд сторінок Інтернету | ||
Comment[vi]=Để duyệt các trang web | ||
Comment[zh_CN]=浏览互联网 | ||
Comment[zh_TW]=瀏覽網際網路 | ||
GenericName=Web Browser | ||
GenericName[ar]=متصفح ويب | ||
GenericName[ast]=Restolador Web | ||
GenericName[bn]=ওয়েব ব্রাউজার | ||
GenericName[ca]=Navegador web | ||
GenericName[cs]=Webový prohlížeč | ||
GenericName[da]=Webbrowser | ||
GenericName[el]=Περιηγητής διαδικτύου | ||
GenericName[es]=Navegador web | ||
GenericName[et]=Veebibrauser | ||
GenericName[fa]=مرورگر اینترنتی | ||
GenericName[fi]=WWW-selain | ||
GenericName[fr]=Navigateur Web | ||
GenericName[gl]=Navegador Web | ||
GenericName[he]=דפדפן אינטרנט | ||
GenericName[hr]=Web preglednik | ||
GenericName[hu]=Webböngésző | ||
GenericName[it]=Browser web | ||
GenericName[ja]=ウェブ・ブラウザ | ||
GenericName[ko]=웹 브라우저 | ||
GenericName[ku]=Geroka torê | ||
GenericName[lt]=Interneto naršyklė | ||
GenericName[nb]=Nettleser | ||
GenericName[nl]=Webbrowser | ||
GenericName[nn]=Nettlesar | ||
GenericName[no]=Nettleser | ||
GenericName[pl]=Przeglądarka WWW | ||
GenericName[pt]=Navegador Web | ||
GenericName[pt_BR]=Navegador Web | ||
GenericName[ro]=Navigator Internet | ||
GenericName[ru]=Веб-браузер | ||
GenericName[sk]=Internetový prehliadač | ||
GenericName[sl]=Spletni brskalnik | ||
GenericName[sv]=Webbläsare | ||
GenericName[tr]=Web Tarayıcı | ||
GenericName[ug]=توركۆرگۈ | ||
GenericName[uk]=Веб-браузер | ||
GenericName[vi]=Trình duyệt Web | ||
GenericName[zh_CN]=网络浏览器 | ||
GenericName[zh_TW]=網路瀏覽器 | ||
Keywords=Internet;WWW;Browser;Web;Explorer | ||
Keywords[ar]=انترنت;إنترنت;متصفح;ويب;وب | ||
Keywords[ast]=Internet;WWW;Restolador;Web;Esplorador | ||
Keywords[ca]=Internet;WWW;Navegador;Web;Explorador;Explorer | ||
Keywords[cs]=Internet;WWW;Prohlížeč;Web;Explorer | ||
Keywords[da]=Internet;Internettet;WWW;Browser;Browse;Web;Surf;Nettet | ||
Keywords[de]=Internet;WWW;Browser;Web;Explorer;Webseite;Site;surfen;online;browsen | ||
Keywords[el]=Internet;WWW;Browser;Web;Explorer;Διαδίκτυο;Περιηγητής;Firefox;Φιρεφοχ;Ιντερνετ | ||
Keywords[es]=Explorador;Internet;WWW | ||
Keywords[fi]=Internet;WWW;Browser;Web;Explorer;selain;Internet-selain;internetselain;verkkoselain;netti;surffaa | ||
Keywords[fr]=Internet;WWW;Browser;Web;Explorer;Fureteur;Surfer;Navigateur | ||
Keywords[he]=דפדפן;אינטרנט;רשת;אתרים;אתר;פיירפוקס;מוזילה; | ||
Keywords[hr]=Internet;WWW;preglednik;Web | ||
Keywords[hu]=Internet;WWW;Böngésző;Web;Háló;Net;Explorer | ||
Keywords[it]=Internet;WWW;Browser;Web;Navigatore | ||
Keywords[is]=Internet;WWW;Vafri;Vefur;Netvafri;Flakk | ||
Keywords[ja]=Internet;WWW;Web;インターネット;ブラウザ;ウェブ;エクスプローラ | ||
Keywords[nb]=Internett;WWW;Nettleser;Explorer;Web;Browser;Nettside | ||
Keywords[nl]=Internet;WWW;Browser;Web;Explorer;Verkenner;Website;Surfen;Online | ||
Keywords[pt]=Internet;WWW;Browser;Web;Explorador;Navegador | ||
Keywords[pt_BR]=Internet;WWW;Browser;Web;Explorador;Navegador | ||
Keywords[ru]=Internet;WWW;Browser;Web;Explorer;интернет;браузер;веб;файрфокс;огнелис | ||
Keywords[sk]=Internet;WWW;Prehliadač;Web;Explorer | ||
Keywords[sl]=Internet;WWW;Browser;Web;Explorer;Brskalnik;Splet | ||
Keywords[tr]=İnternet;WWW;Tarayıcı;Web;Gezgin;Web sitesi;Site;sörf;çevrimiçi;tara | ||
Keywords[uk]=Internet;WWW;Browser;Web;Explorer;Інтернет;мережа;переглядач;оглядач;браузер;веб;файрфокс;вогнелис;перегляд | ||
Keywords[vi]=Internet;WWW;Browser;Web;Explorer;Trình duyệt;Trang web | ||
Keywords[zh_CN]=Internet;WWW;Browser;Web;Explorer;网页;浏览;上网;火狐;Firefox;ff;互联网;网站; | ||
Keywords[zh_TW]=Internet;WWW;Browser;Web;Explorer;網際網路;網路;瀏覽器;上網;網頁;火狐 | ||
Exec=firefox %u | ||
Terminal=false | ||
X-MultipleArgs=false | ||
Type=Application | ||
Icon=firefox | ||
Categories=GNOME;GTK;Network;WebBrowser; | ||
MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;x-scheme-handler/chrome;video/webm;application/x-xpinstall; | ||
StartupNotify=true | ||
Actions=new-window;new-private-window; | ||
[Desktop Action new-window] | ||
Name=Open a New Window | ||
Name[ar]=افتح نافذة جديدة | ||
Name[ast]=Abrir una ventana nueva | ||
Name[bn]=Abrir una ventana nueva | ||
Name[ca]=Obre una finestra nova | ||
Name[cs]=Otevřít nové okno | ||
Name[da]=Åbn et nyt vindue | ||
Name[de]=Ein neues Fenster öffnen | ||
Name[el]=Νέο παράθυρο | ||
Name[es]=Abrir una ventana nueva | ||
Name[fi]=Avaa uusi ikkuna | ||
Name[fr]=Ouvrir une nouvelle fenêtre | ||
Name[gl]=Abrir unha nova xanela | ||
Name[he]=פתיחת חלון חדש | ||
Name[hr]=Otvori novi prozor | ||
Name[hu]=Új ablak nyitása | ||
Name[it]=Apri una nuova finestra | ||
Name[ja]=新しいウィンドウを開く | ||
Name[ko]=새 창 열기 | ||
Name[ku]=Paceyeke nû veke | ||
Name[lt]=Atverti naują langą | ||
Name[nb]=Åpne et nytt vindu | ||
Name[nl]=Nieuw venster openen | ||
Name[pt]=Abrir nova janela | ||
Name[pt_BR]=Abrir nova janela | ||
Name[ro]=Deschide o fereastră nouă | ||
Name[ru]=Новое окно | ||
Name[sk]=Otvoriť nové okno | ||
Name[sl]=Odpri novo okno | ||
Name[sv]=Öppna ett nytt fönster | ||
Name[tr]=Yeni pencere aç | ||
Name[ug]=يېڭى كۆزنەك ئېچىش | ||
Name[uk]=Відкрити нове вікно | ||
Name[vi]=Mở cửa sổ mới | ||
Name[zh_CN]=新建窗口 | ||
Name[zh_TW]=開啟新視窗 | ||
Exec=firefox -new-window | ||
[Desktop Action new-private-window] | ||
Name=Open a New Private Window | ||
Name[ar]=افتح نافذة جديدة للتصفح الخاص | ||
Name[ca]=Obre una finestra nova en mode d'incògnit | ||
Name[cs]=Otevřít nové anonymní okno | ||
Name[de]=Ein neues privates Fenster öffnen | ||
Name[el]=Νέο ιδιωτικό παράθυρο | ||
Name[es]=Abrir una ventana privada nueva | ||
Name[fi]=Avaa uusi yksityinen ikkuna | ||
Name[fr]=Ouvrir une nouvelle fenêtre de navigation privée | ||
Name[he]=פתיחת חלון גלישה פרטית חדש | ||
Name[hu]=Új privát ablak nyitása | ||
Name[it]=Apri una nuova finestra anonima | ||
Name[nb]=Åpne et nytt privat vindu | ||
Name[ru]=Новое приватное окно | ||
Name[sl]=Odpri novo okno zasebnega brskanja | ||
Name[sv]=Öppna ett nytt privat fönster | ||
Name[tr]=Yeni gizli pencere aç | ||
Name[uk]=Відкрити нове вікно у потайливому режимі | ||
Name[zh_TW]=開啟新隱私瀏覽視窗 | ||
Exec=firefox -private-window | ||
EOF | ||
cat << EOF > "$HOME/Desktop/codium.desktop" | ||
#!/usr/bin/env xdg-open | ||
[Desktop Entry] | ||
Name=VSCodium | ||
Comment=Code Editing. Redefined. | ||
GenericName=Text Editor | ||
Exec=/usr/share/codium/codium --unity-launch %F | ||
Icon=vscodium | ||
Type=Application | ||
StartupNotify=false | ||
StartupWMClass=VSCodium | ||
Categories=TextEditor;Development;IDE; | ||
MimeType=text/plain;inode/directory;application/x-codium-workspace; | ||
Actions=new-empty-window; | ||
Keywords=vscode; | ||
[Desktop Action new-empty-window] | ||
Name=New Empty Window | ||
Exec=/usr/share/codium/codium --new-window %F | ||
Icon=vscodium | ||
EOF | ||
chmod +x "$HOME/Desktop/*.desktop" | ||
chown -R "$USER:$USER" "$HOME/Desktop" | ||
|
||
# clearup | ||
PASSWORD= | ||
VNC_PASSWORD= | ||
|
||
echo "============================================================================================" | ||
echo "NOTE: Before stopping to commit docker container to new docker image, log out first." | ||
echo -e 'See \e]8;;https://github.com/Tiryoh/docker-ros2-desktop-vnc/issue/131\e\\https://github.com/Tiryoh/docker-ros2-desktop-vnc/issue/131\e]8;;\e\\' | ||
echo "============================================================================================" | ||
|
||
exec /usr/bin/tini -- supervisord -n -c /etc/supervisor/supervisord.conf |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,126 @@ | ||
FROM dorowu/ubuntu-desktop-lxde-vnc:focal | ||
# Copyright 2020-2024 Tiryoh<tiryoh@gmail.com> | ||
# | ||
# Licensed under the Apache License, Version 2.0 (the "License"); | ||
# you may not use this file except in compliance with the License. | ||
# You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
# | ||
# This Dockerfile is based on https://github.com/AtsushiSaito/docker-ubuntu-sweb | ||
# which is released under the Apache-2.0 license. | ||
|
||
FROM ubuntu:focal-20240427 | ||
|
||
ARG TARGETPLATFORM | ||
LABEL maintainer="Tiryoh<tiryoh@gmail.com>" | ||
|
||
RUN wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | apt-key add - | ||
SHELL ["/bin/bash", "-c"] | ||
|
||
# Upgrade OS | ||
RUN apt-get update -q && \ | ||
DEBIAN_FRONTEND=noninteractive apt-get upgrade -y && \ | ||
apt-get autoclean && \ | ||
apt-get autoremove && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
# Install Ubuntu Mate desktop | ||
RUN apt-get update -q && \ | ||
apt-get upgrade -yq && \ | ||
DEBIAN_FRONTEND=noninteractive apt-get install -yq wget curl git build-essential vim sudo lsb-release locales bash-completion tzdata gosu && \ | ||
DEBIAN_FRONTEND=noninteractive apt-get install -y \ | ||
ubuntu-mate-desktop && \ | ||
apt-get autoclean && \ | ||
apt-get autoremove && \ | ||
rm -rf /var/lib/apt/lists/* | ||
RUN useradd --create-home --home-dir /home/ubuntu --shell /bin/bash --user-group --groups adm,sudo ubuntu && \ | ||
echo ubuntu:ubuntu | chpasswd && \ | ||
echo "ubuntu ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers | ||
COPY ./ros-noetic-desktop.sh /ros-noetic-desktop.sh | ||
RUN mkdir -p /tmp/ros_setup_scripts_ubuntu && mv /ros-noetic-desktop.sh /tmp/ros_setup_scripts_ubuntu/ && \ | ||
gosu ubuntu /tmp/ros_setup_scripts_ubuntu/ros-noetic-desktop.sh && \ | ||
|
||
# Add Package | ||
RUN apt-get update && \ | ||
DEBIAN_FRONTEND=noninteractive apt-get install -y \ | ||
tigervnc-standalone-server tigervnc-common \ | ||
supervisor wget curl gosu git sudo python3-pip tini \ | ||
build-essential vim sudo lsb-release locales \ | ||
bash-completion tzdata terminator && \ | ||
apt-get autoclean && \ | ||
apt-get autoremove && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
# noVNC and Websockify | ||
RUN git clone https://github.com/AtsushiSaito/noVNC.git -b add_clipboard_support /usr/lib/novnc | ||
RUN pip install --no-cache-dir git+https://github.com/novnc/websockify.git@v0.10.0 | ||
RUN ln -s /usr/lib/novnc/vnc.html /usr/lib/novnc/index.html | ||
|
||
# Set remote resize function enabled by default | ||
RUN sed -i "s/UI.initSetting('resize', 'off');/UI.initSetting('resize', 'remote');/g" /usr/lib/novnc/app/ui.js | ||
|
||
# Disable auto update and crash report | ||
RUN sed -i 's/Prompt=.*/Prompt=never/' /etc/update-manager/release-upgrades | ||
RUN sed -i 's/enabled=1/enabled=0/g' /etc/default/apport | ||
|
||
# Install Firefox | ||
RUN DEBIAN_FRONTEND=noninteractive add-apt-repository ppa:mozillateam/ppa -y && \ | ||
echo 'Package: *' > /etc/apt/preferences.d/mozilla-firefox && \ | ||
echo 'Pin: release o=LP-PPA-mozillateam' >> /etc/apt/preferences.d/mozilla-firefox && \ | ||
echo 'Pin-Priority: 1001' >> /etc/apt/preferences.d/mozilla-firefox && \ | ||
apt-get update -q && \ | ||
apt-get install -y --allow-downgrades \ | ||
firefox && \ | ||
apt-get autoclean && \ | ||
apt-get autoremove && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
# Install VSCodium | ||
RUN wget https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg \ | ||
-O /usr/share/keyrings/vscodium-archive-keyring.asc && \ | ||
echo 'deb [ signed-by=/usr/share/keyrings/vscodium-archive-keyring.asc ] https://paulcarroty.gitlab.io/vscodium-deb-rpm-repo/debs vscodium main' \ | ||
| tee /etc/apt/sources.list.d/vscodium.list && \ | ||
apt-get update -q && \ | ||
apt-get install -y codium && \ | ||
apt-get autoclean && \ | ||
apt-get autoremove && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
# Install ROS | ||
ENV ROS_DISTRO noetic | ||
# desktop or ros-base | ||
ARG INSTALL_PACKAGE=desktop | ||
|
||
RUN apt-get update -q && \ | ||
apt-get install -y curl gnupg2 lsb-release && \ | ||
curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg && \ | ||
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros/ubuntu $(lsb_release -cs) main" | tee /etc/apt/sources.list.d/ros.list > /dev/null && \ | ||
apt-get update -q && \ | ||
apt-get install -y ros-${ROS_DISTRO}-${INSTALL_PACKAGE} \ | ||
python3-rosinstall \ | ||
python3-rosinstall-generator \ | ||
python3-wstool \ | ||
python3-catkin-tools \ | ||
python3-osrf-pycommon \ | ||
python3-argcomplete \ | ||
python3-rosdep python3-vcstool && \ | ||
rosdep init && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
RUN rosdep update | ||
|
||
# Gazebo packages for arm64 are not maintained. | ||
# http://repositories.ros.org/status_page/ros_noetic_dbv8.html?q=ign | ||
RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \ | ||
apt-get update -q && \ | ||
apt-get install -y \ | ||
ros-${ROS_DISTRO}-gazebo-ros-pkgs \ | ||
ros-${ROS_DISTRO}-ros-ign-gazebo && \ | ||
rm -rf /var/lib/apt/lists/*; \ | ||
fi | ||
|
||
# Enable apt-get completion after running `apt-get update` in the container | ||
RUN rm /etc/apt/apt.conf.d/docker-clean | ||
|
||
COPY ./entrypoint.sh / | ||
ENTRYPOINT [ "/bin/bash", "-c", "/entrypoint.sh" ] | ||
|
||
ENV USER ubuntu | ||
ENV PASSWD ubuntu |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,354 @@ | ||
#!/bin/bash | ||
|
||
# Create User | ||
USER=${USER:-root} | ||
HOME=/root | ||
if [ "$USER" != "root" ]; then | ||
echo "* enable custom user: $USER" | ||
useradd --create-home --shell /bin/bash --user-group --groups adm,sudo "$USER" | ||
echo "$USER ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers | ||
if [ -z "$PASSWORD" ]; then | ||
echo " set default password to \"ubuntu\"" | ||
PASSWORD=ubuntu | ||
fi | ||
HOME="/home/$USER" | ||
echo "$USER:$PASSWORD" | /usr/sbin/chpasswd 2> /dev/null || echo "" | ||
cp -r /root/{.config,.gtkrc-2.0,.asoundrc} "$HOME" 2>/dev/null | ||
chown -R "$USER:$USER" "$HOME" | ||
[ -d "/dev/snd" ] && chgrp -R adm /dev/snd | ||
fi | ||
|
||
# VNC password | ||
VNC_PASSWORD=${PASSWORD:-ubuntu} | ||
|
||
mkdir -p "$HOME/.vnc" | ||
echo "$VNC_PASSWORD" | vncpasswd -f > "$HOME/.vnc/passwd" | ||
chmod 600 "$HOME/.vnc/passwd" | ||
chown -R "$USER:$USER" "$HOME" | ||
sed -i "s/password = WebUtil.getConfigVar('password');/password = '$VNC_PASSWORD'/" /usr/lib/novnc/app/ui.js | ||
|
||
# xstartup | ||
XSTARTUP_PATH="$HOME/.vnc/xstartup" | ||
cat << EOF > "$XSTARTUP_PATH" | ||
#!/bin/sh | ||
unset DBUS_SESSION_BUS_ADDRESS | ||
mate-session | ||
EOF | ||
chown "$USER:$USER" "$XSTARTUP_PATH" | ||
chmod 755 "$XSTARTUP_PATH" | ||
|
||
# vncserver launch | ||
VNCRUN_PATH="$HOME/.vnc/vnc_run.sh" | ||
cat << EOF > "$VNCRUN_PATH" | ||
#!/bin/sh | ||
if [ $(uname -m) = "aarch64" ]; then | ||
LD_PRELOAD=/lib/aarch64-linux-gnu/libgcc_s.so.1 vncserver :1 -fg -geometry 1920x1080 -depth 24 | ||
else | ||
vncserver :1 -fg -geometry 1920x1080 -depth 24 | ||
fi | ||
EOF | ||
|
||
# Supervisor | ||
CONF_PATH=/etc/supervisor/conf.d/supervisord.conf | ||
cat << EOF > $CONF_PATH | ||
[supervisord] | ||
nodaemon=true | ||
user=root | ||
[program:vnc] | ||
command=gosu '$USER' bash '$VNCRUN_PATH' | ||
[program:novnc] | ||
command=gosu '$USER' bash -c "websockify --web=/usr/lib/novnc 80 localhost:5901" | ||
EOF | ||
|
||
# colcon | ||
BASHRC_PATH="$HOME/.bashrc" | ||
grep -F "source /opt/ros/$ROS_DISTRO/setup.bash" "$BASHRC_PATH" || echo "source /opt/ros/$ROS_DISTRO/setup.bash" >> "$BASHRC_PATH" | ||
grep -F "export ROS_AUTOMATIC_DISCOVERY_RANGE=" "$BASHRC_PATH" || echo "# export ROS_AUTOMATIC_DISCOVERY_RANGE=LOCALHOST" >> "$BASHRC_PATH" | ||
chown "$USER:$USER" "$BASHRC_PATH" | ||
|
||
# Fix rosdep permission | ||
mkdir -p "$HOME/.ros" | ||
cp -r /root/.ros/rosdep "$HOME/.ros/rosdep" | ||
chown -R "$USER:$USER" "$HOME/.ros" | ||
|
||
# Add terminator shortcut | ||
mkdir -p "$HOME/Desktop" | ||
cat << EOF > "$HOME/Desktop/terminator.desktop" | ||
#!/usr/bin/env xdg-open | ||
[Desktop Entry] | ||
Name=Terminator | ||
Comment=Multiple terminals in one window | ||
TryExec=terminator | ||
Exec=terminator | ||
Icon=terminator | ||
Type=Application | ||
Categories=GNOME;GTK;Utility;TerminalEmulator;System; | ||
StartupNotify=true | ||
X-Ubuntu-Gettext-Domain=terminator | ||
X-Ayatana-Desktop-Shortcuts=NewWindow; | ||
Keywords=terminal;shell;prompt;command;commandline; | ||
[NewWindow Shortcut Group] | ||
Name=Open a New Window | ||
Exec=terminator | ||
TargetEnvironment=Unity | ||
EOF | ||
cat << EOF > "$HOME/Desktop/firefox.desktop" | ||
#!/usr/bin/env xdg-open | ||
[Desktop Entry] | ||
Version=1.0 | ||
Name=Firefox Web Browser | ||
Name[ar]=متصفح الويب فَيَرفُكْس | ||
Name[ast]=Restolador web Firefox | ||
Name[bn]=ফায়ারফক্স ওয়েব ব্রাউজার | ||
Name[ca]=Navegador web Firefox | ||
Name[cs]=Firefox Webový prohlížeč | ||
Name[da]=Firefox - internetbrowser | ||
Name[el]=Περιηγητής Firefox | ||
Name[es]=Navegador web Firefox | ||
Name[et]=Firefoxi veebibrauser | ||
Name[fa]=مرورگر اینترنتی Firefox | ||
Name[fi]=Firefox-selain | ||
Name[fr]=Navigateur Web Firefox | ||
Name[gl]=Navegador web Firefox | ||
Name[he]=דפדפן האינטרנט Firefox | ||
Name[hr]=Firefox web preglednik | ||
Name[hu]=Firefox webböngésző | ||
Name[it]=Firefox Browser Web | ||
Name[ja]=Firefox ウェブ・ブラウザ | ||
Name[ko]=Firefox 웹 브라우저 | ||
Name[ku]=Geroka torê Firefox | ||
Name[lt]=Firefox interneto naršyklė | ||
Name[nb]=Firefox Nettleser | ||
Name[nl]=Firefox webbrowser | ||
Name[nn]=Firefox Nettlesar | ||
Name[no]=Firefox Nettleser | ||
Name[pl]=Przeglądarka WWW Firefox | ||
Name[pt]=Firefox Navegador Web | ||
Name[pt_BR]=Navegador Web Firefox | ||
Name[ro]=Firefox – Navigator Internet | ||
Name[ru]=Веб-браузер Firefox | ||
Name[sk]=Firefox - internetový prehliadač | ||
Name[sl]=Firefox spletni brskalnik | ||
Name[sv]=Firefox webbläsare | ||
Name[tr]=Firefox Web Tarayıcısı | ||
Name[ug]=Firefox توركۆرگۈ | ||
Name[uk]=Веб-браузер Firefox | ||
Name[vi]=Trình duyệt web Firefox | ||
Name[zh_CN]=Firefox 网络浏览器 | ||
Name[zh_TW]=Firefox 網路瀏覽器 | ||
Comment=Browse the World Wide Web | ||
Comment[ar]=تصفح الشبكة العنكبوتية العالمية | ||
Comment[ast]=Restola pela Rede | ||
Comment[bn]=ইন্টারনেট ব্রাউজ করুন | ||
Comment[ca]=Navegueu per la web | ||
Comment[cs]=Prohlížení stránek World Wide Webu | ||
Comment[da]=Surf på internettet | ||
Comment[de]=Im Internet surfen | ||
Comment[el]=Μπορείτε να περιηγηθείτε στο διαδίκτυο (Web) | ||
Comment[es]=Navegue por la web | ||
Comment[et]=Lehitse veebi | ||
Comment[fa]=صفحات شبکه جهانی اینترنت را مرور نمایید | ||
Comment[fi]=Selaa Internetin WWW-sivuja | ||
Comment[fr]=Naviguer sur le Web | ||
Comment[gl]=Navegar pola rede | ||
Comment[he]=גלישה ברחבי האינטרנט | ||
Comment[hr]=Pretražite web | ||
Comment[hu]=A világháló böngészése | ||
Comment[it]=Esplora il web | ||
Comment[ja]=ウェブを閲覧します | ||
Comment[ko]=웹을 돌아 다닙니다 | ||
Comment[ku]=Li torê bigere | ||
Comment[lt]=Naršykite internete | ||
Comment[nb]=Surf på nettet | ||
Comment[nl]=Verken het internet | ||
Comment[nn]=Surf på nettet | ||
Comment[no]=Surf på nettet | ||
Comment[pl]=Przeglądanie stron WWW | ||
Comment[pt]=Navegue na Internet | ||
Comment[pt_BR]=Navegue na Internet | ||
Comment[ro]=Navigați pe Internet | ||
Comment[ru]=Доступ в Интернет | ||
Comment[sk]=Prehliadanie internetu | ||
Comment[sl]=Brskajte po spletu | ||
Comment[sv]=Surfa på webben | ||
Comment[tr]=İnternet'te Gezinin | ||
Comment[ug]=دۇنيادىكى توربەتلەرنى كۆرگىلى بولىدۇ | ||
Comment[uk]=Перегляд сторінок Інтернету | ||
Comment[vi]=Để duyệt các trang web | ||
Comment[zh_CN]=浏览互联网 | ||
Comment[zh_TW]=瀏覽網際網路 | ||
GenericName=Web Browser | ||
GenericName[ar]=متصفح ويب | ||
GenericName[ast]=Restolador Web | ||
GenericName[bn]=ওয়েব ব্রাউজার | ||
GenericName[ca]=Navegador web | ||
GenericName[cs]=Webový prohlížeč | ||
GenericName[da]=Webbrowser | ||
GenericName[el]=Περιηγητής διαδικτύου | ||
GenericName[es]=Navegador web | ||
GenericName[et]=Veebibrauser | ||
GenericName[fa]=مرورگر اینترنتی | ||
GenericName[fi]=WWW-selain | ||
GenericName[fr]=Navigateur Web | ||
GenericName[gl]=Navegador Web | ||
GenericName[he]=דפדפן אינטרנט | ||
GenericName[hr]=Web preglednik | ||
GenericName[hu]=Webböngésző | ||
GenericName[it]=Browser web | ||
GenericName[ja]=ウェブ・ブラウザ | ||
GenericName[ko]=웹 브라우저 | ||
GenericName[ku]=Geroka torê | ||
GenericName[lt]=Interneto naršyklė | ||
GenericName[nb]=Nettleser | ||
GenericName[nl]=Webbrowser | ||
GenericName[nn]=Nettlesar | ||
GenericName[no]=Nettleser | ||
GenericName[pl]=Przeglądarka WWW | ||
GenericName[pt]=Navegador Web | ||
GenericName[pt_BR]=Navegador Web | ||
GenericName[ro]=Navigator Internet | ||
GenericName[ru]=Веб-браузер | ||
GenericName[sk]=Internetový prehliadač | ||
GenericName[sl]=Spletni brskalnik | ||
GenericName[sv]=Webbläsare | ||
GenericName[tr]=Web Tarayıcı | ||
GenericName[ug]=توركۆرگۈ | ||
GenericName[uk]=Веб-браузер | ||
GenericName[vi]=Trình duyệt Web | ||
GenericName[zh_CN]=网络浏览器 | ||
GenericName[zh_TW]=網路瀏覽器 | ||
Keywords=Internet;WWW;Browser;Web;Explorer | ||
Keywords[ar]=انترنت;إنترنت;متصفح;ويب;وب | ||
Keywords[ast]=Internet;WWW;Restolador;Web;Esplorador | ||
Keywords[ca]=Internet;WWW;Navegador;Web;Explorador;Explorer | ||
Keywords[cs]=Internet;WWW;Prohlížeč;Web;Explorer | ||
Keywords[da]=Internet;Internettet;WWW;Browser;Browse;Web;Surf;Nettet | ||
Keywords[de]=Internet;WWW;Browser;Web;Explorer;Webseite;Site;surfen;online;browsen | ||
Keywords[el]=Internet;WWW;Browser;Web;Explorer;Διαδίκτυο;Περιηγητής;Firefox;Φιρεφοχ;Ιντερνετ | ||
Keywords[es]=Explorador;Internet;WWW | ||
Keywords[fi]=Internet;WWW;Browser;Web;Explorer;selain;Internet-selain;internetselain;verkkoselain;netti;surffaa | ||
Keywords[fr]=Internet;WWW;Browser;Web;Explorer;Fureteur;Surfer;Navigateur | ||
Keywords[he]=דפדפן;אינטרנט;רשת;אתרים;אתר;פיירפוקס;מוזילה; | ||
Keywords[hr]=Internet;WWW;preglednik;Web | ||
Keywords[hu]=Internet;WWW;Böngésző;Web;Háló;Net;Explorer | ||
Keywords[it]=Internet;WWW;Browser;Web;Navigatore | ||
Keywords[is]=Internet;WWW;Vafri;Vefur;Netvafri;Flakk | ||
Keywords[ja]=Internet;WWW;Web;インターネット;ブラウザ;ウェブ;エクスプローラ | ||
Keywords[nb]=Internett;WWW;Nettleser;Explorer;Web;Browser;Nettside | ||
Keywords[nl]=Internet;WWW;Browser;Web;Explorer;Verkenner;Website;Surfen;Online | ||
Keywords[pt]=Internet;WWW;Browser;Web;Explorador;Navegador | ||
Keywords[pt_BR]=Internet;WWW;Browser;Web;Explorador;Navegador | ||
Keywords[ru]=Internet;WWW;Browser;Web;Explorer;интернет;браузер;веб;файрфокс;огнелис | ||
Keywords[sk]=Internet;WWW;Prehliadač;Web;Explorer | ||
Keywords[sl]=Internet;WWW;Browser;Web;Explorer;Brskalnik;Splet | ||
Keywords[tr]=İnternet;WWW;Tarayıcı;Web;Gezgin;Web sitesi;Site;sörf;çevrimiçi;tara | ||
Keywords[uk]=Internet;WWW;Browser;Web;Explorer;Інтернет;мережа;переглядач;оглядач;браузер;веб;файрфокс;вогнелис;перегляд | ||
Keywords[vi]=Internet;WWW;Browser;Web;Explorer;Trình duyệt;Trang web | ||
Keywords[zh_CN]=Internet;WWW;Browser;Web;Explorer;网页;浏览;上网;火狐;Firefox;ff;互联网;网站; | ||
Keywords[zh_TW]=Internet;WWW;Browser;Web;Explorer;網際網路;網路;瀏覽器;上網;網頁;火狐 | ||
Exec=firefox %u | ||
Terminal=false | ||
X-MultipleArgs=false | ||
Type=Application | ||
Icon=firefox | ||
Categories=GNOME;GTK;Network;WebBrowser; | ||
MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;x-scheme-handler/chrome;video/webm;application/x-xpinstall; | ||
StartupNotify=true | ||
Actions=new-window;new-private-window; | ||
[Desktop Action new-window] | ||
Name=Open a New Window | ||
Name[ar]=افتح نافذة جديدة | ||
Name[ast]=Abrir una ventana nueva | ||
Name[bn]=Abrir una ventana nueva | ||
Name[ca]=Obre una finestra nova | ||
Name[cs]=Otevřít nové okno | ||
Name[da]=Åbn et nyt vindue | ||
Name[de]=Ein neues Fenster öffnen | ||
Name[el]=Νέο παράθυρο | ||
Name[es]=Abrir una ventana nueva | ||
Name[fi]=Avaa uusi ikkuna | ||
Name[fr]=Ouvrir une nouvelle fenêtre | ||
Name[gl]=Abrir unha nova xanela | ||
Name[he]=פתיחת חלון חדש | ||
Name[hr]=Otvori novi prozor | ||
Name[hu]=Új ablak nyitása | ||
Name[it]=Apri una nuova finestra | ||
Name[ja]=新しいウィンドウを開く | ||
Name[ko]=새 창 열기 | ||
Name[ku]=Paceyeke nû veke | ||
Name[lt]=Atverti naują langą | ||
Name[nb]=Åpne et nytt vindu | ||
Name[nl]=Nieuw venster openen | ||
Name[pt]=Abrir nova janela | ||
Name[pt_BR]=Abrir nova janela | ||
Name[ro]=Deschide o fereastră nouă | ||
Name[ru]=Новое окно | ||
Name[sk]=Otvoriť nové okno | ||
Name[sl]=Odpri novo okno | ||
Name[sv]=Öppna ett nytt fönster | ||
Name[tr]=Yeni pencere aç | ||
Name[ug]=يېڭى كۆزنەك ئېچىش | ||
Name[uk]=Відкрити нове вікно | ||
Name[vi]=Mở cửa sổ mới | ||
Name[zh_CN]=新建窗口 | ||
Name[zh_TW]=開啟新視窗 | ||
Exec=firefox -new-window | ||
[Desktop Action new-private-window] | ||
Name=Open a New Private Window | ||
Name[ar]=افتح نافذة جديدة للتصفح الخاص | ||
Name[ca]=Obre una finestra nova en mode d'incògnit | ||
Name[cs]=Otevřít nové anonymní okno | ||
Name[de]=Ein neues privates Fenster öffnen | ||
Name[el]=Νέο ιδιωτικό παράθυρο | ||
Name[es]=Abrir una ventana privada nueva | ||
Name[fi]=Avaa uusi yksityinen ikkuna | ||
Name[fr]=Ouvrir une nouvelle fenêtre de navigation privée | ||
Name[he]=פתיחת חלון גלישה פרטית חדש | ||
Name[hu]=Új privát ablak nyitása | ||
Name[it]=Apri una nuova finestra anonima | ||
Name[nb]=Åpne et nytt privat vindu | ||
Name[ru]=Новое приватное окно | ||
Name[sl]=Odpri novo okno zasebnega brskanja | ||
Name[sv]=Öppna ett nytt privat fönster | ||
Name[tr]=Yeni gizli pencere aç | ||
Name[uk]=Відкрити нове вікно у потайливому режимі | ||
Name[zh_TW]=開啟新隱私瀏覽視窗 | ||
Exec=firefox -private-window | ||
EOF | ||
cat << EOF > "$HOME/Desktop/codium.desktop" | ||
#!/usr/bin/env xdg-open | ||
[Desktop Entry] | ||
Name=VSCodium | ||
Comment=Code Editing. Redefined. | ||
GenericName=Text Editor | ||
Exec=/usr/share/codium/codium --unity-launch %F | ||
Icon=vscodium | ||
Type=Application | ||
StartupNotify=false | ||
StartupWMClass=VSCodium | ||
Categories=TextEditor;Development;IDE; | ||
MimeType=text/plain;inode/directory;application/x-codium-workspace; | ||
Actions=new-empty-window; | ||
Keywords=vscode; | ||
[Desktop Action new-empty-window] | ||
Name=New Empty Window | ||
Exec=/usr/share/codium/codium --new-window %F | ||
Icon=vscodium | ||
EOF | ||
chmod +x "$HOME/Desktop/*.desktop" | ||
chown -R "$USER:$USER" "$HOME/Desktop" | ||
|
||
# clearup | ||
PASSWORD= | ||
VNC_PASSWORD= | ||
|
||
echo "============================================================================================" | ||
echo "NOTE: Before stopping to commit docker container to new docker image, log out first." | ||
echo -e 'See \e]8;;https://github.com/Tiryoh/docker-ros2-desktop-vnc/issue/131\e\\https://github.com/Tiryoh/docker-ros2-desktop-vnc/issue/131\e]8;;\e\\' | ||
echo "============================================================================================" | ||
|
||
exec /bin/tini -- supervisord -n -c /etc/supervisor/supervisord.conf |
This file was deleted.
Oops, something went wrong.