目前除了Alpine外也支持<em>Ubuntu</em>,支持的桌面系统包括:XFCE KDE MATE i3 Openbox IceWM 访问认证 默认情况下,镜像启用abc用户,无需认证就可以访问。abc用户默认密码也是 abc。如果要更改此密码并在访问界面时启用
2021-05-14 11:00:10
容器的大流行讓很多東西虛擬化、容器化變成了現實。很多人還希望更多,想在容器中跑整個OS,將容器當虛擬機器用。一般來說這個想法不是推薦的做法,但並非是無法實現。今天蟲蟲就給大家介紹一個項目Webtops,通過它可以讓使用者在其Web瀏覽器中運行Linux桌面以容器化方式部署。
概述
Webtops項目和一般的短小精悍,單一功能Docker哲學背道而馳,但是要實現功能就必須如此。該項目需要在容器中運行以下的服務:
Guacamole Server:Apache基金會下的無客戶端一個遠端桌面閘道器。這是實現Web(瀏覽器)訪問遠端桌面的關鍵。
xrdp Server:提供使用RDP(Microsoft遠端桌面協議)的遠端計算機的圖形登入。xrdp接受來自各種平臺RDP客戶端的連線,包括reeRDP,rdesktop,NeutrinoRDP和Microsoft遠端桌面客戶端。
Pulseaudio:一個跨平臺的、可通過網路工作的聲音服務。
Custom nodejs frontend:
Webtops項目可以做到:
畫素渲染的完美解析度
基本的視窗管理器
音訊支援
使用RDP協議
剪貼簿支援
螢幕鍵盤支援
遠端檔案上傳/下載管理
Webtops設計時候考慮了容器化,以構建基本映象的設計理念進行了開發,所以支援應用擴展,可以輕鬆地將任何Linux GUI應用程式嵌入進來。在桌面環境中,使用者可以通過需求安裝特定的軟體包並根據需要自定義。
安裝部署
由於基於容器化部署,安裝非常簡單,直接一個docker命令就可以完成部署:
docker run -d
--name=webtop
-e PUID=1000
-e PGID=1000
-e TZ=Europe/London
-p 3000:3000
-v /path/to/data:/config
--shm-size="1gb"
--restart unless-stopped
ghcr.io/linuxserver/webtop
然後通過瀏覽器訪問:localhost:3000,就可以訪問,這是Alpine XFCE桌面環境:
螢幕的左側是一個箭頭,該箭頭可以用來擴展某些內建的遠端互動功能的選單,也可以使用ctrl + alt + shift組合鍵開啟和關閉此選單:
在彈出選單中,可以啟動檔案瀏覽器,彈出式軟鍵盤(手機或者觸控板用)以及將剪貼簿。
檔案瀏覽器中,直接實現使用者當前系統和遠端系統的檔案上傳下載和其他一些操作。
使用者當前剪貼簿中的內容,先複製到該剪貼簿框中,後續才能在遠端機器中使用。
偏好設定
目前除了Alpine外也支援Ubuntu,支援的桌面系統包括:
XFCE
KDE
MATE
i3
Openbox
IceWM
訪問認證
預設情況下,映象啟用abc使用者,無需認證就可以訪問。abc使用者預設密碼也是 abc。如果要更改此密碼並在訪問介面時啟用身份驗證,需要通過在伺服器上執行:
docker exec -it webtop passwd abc
然後通過localhost:3000/?login=true訪問
預設會開啟xrdp登入管理器,可以在其中輸入使用者名和密碼。
更新
如前已經說過容器化的Linux桌面環境實際上與經典Docker哲學相悖,因此強烈建議不要使用通過Docker來處理映象來更新。可以使用作業系統的包管理更新系統
對於Alpine用apk:
sudo apk upgrade
Ubuntu則使用apt:
sudo apt-get update && sudo apt-get dist-upgrade –y
自定義
編譯映象
為了讓基礎映象中嵌入所需的的APP,比如要新增Firefox容器時候示例Dockerfile:
FROM lsiobase/rdesktop-web:alpine
RUN
echo "**** install packages ****" &&
apk add --no-cache
firefox-esr &&
echo "**** cleanup ****" &&
rm -rf
/tmp/*
# add local files
COPY /root /
# ports and volumes
EXPOSE 3000
VOLUME /config
除了安裝應用程式外,還需要在啟動檔案中/root/defaults/autostart新增firefox的啟動點。
就是這樣,當容器啟動後, Firefox將在基本的Openbox gui中啟動:
還有一個LibreOffice應用的Dockerfile檔案如下:
FROM lsiobase/rdesktop-web:alpine
# set version label
ARG BUILD_DATE
ARG VERSION
ARG LIBREOFFICE_VERSION
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="thelamer"
RUN
echo "**** install packages ****" &&
apk add --no-cache --virtual=build-dependencies
curl &&
if [ -z ${LIBREOFFICE_VERSION+x} ]; then
LIBREOFFICE_VERSION=$(curl -sL " dl-cdn.alpinelinux.org/alpine/v3.13/community/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp
&& awk '/^P:libreoffice$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://');
fi &&
apk add --no-cache
libreoffice==${LIBREOFFICE_VERSION}
tint2 &&
echo "**** openbox tweaks ****" &&
sed -i
's/NLMC/NLIMC/g'
/etc/xdg/openbox/rc.xml &&
echo "**** cleanup ****" &&
apk del --purge
build-dependencies &&
rm -rf
/tmp/*
# add local files
COPY /root /
# ports and volumes
EXPOSE 3000
VOLUME /config
自啟動
預設只有當用戶登入Web介面時才會啟動桌面應用程式,如果需要在容器啟動時運行應用程式,則需要設定環境變數:
-e GUIAUTOSTART=true
如果使用者將預設容器中的密碼更改為abc,還需要設定密碼選項以確保應用程式自動啟動:
-e PASSWORD=yourpassword
總結
Webtops項目,給了我們一個下容器中運行Linux桌面的選擇,可以做一個演示、臨時系統中使用,當然更多的使用場景還需要大家去嘗試探索,由於是基於容器部署,非常便捷,嘗試也幾乎沒有任何的成本。
相關文章
目前除了Alpine外也支持<em>Ubuntu</em>,支持的桌面系统包括:XFCE KDE MATE i3 Openbox IceWM 访问认证 默认情况下,镜像启用abc用户,无需认证就可以访问。abc用户默认密码也是 abc。如果要更改此密码并在访问界面时启用
2021-05-14 11:00:10
使用另外一款测速软件,AS <em>SSD</em> Benchmakr该软件也是用于U盘、硬盘的读写速度测试,通过测试结果可以看到,aigo手机U盘U358的读取速度为171.49MB/s,跟CrystalDiskMark测得的数值差不多。 总结 其实像这种双接口
2021-05-14 10:36:14
此外,S17 储存选项包括三部硬盘机的 HyperDrive Ultimate <em>SSD</em> RAID 数组,能带来飞快地访问速度。光学机械式键盘则拥有快捷的输入反应,搭配可设定的多重滚轮,使用者可依照个人喜好使用多种丰富功能。机身仅 19.9
2021-05-14 10:36:10
前几天<em>英特尔</em>第11代高性能移动版酷睿处理器(Tiger Lake-H45)正式解禁,在新处理器上市的同时华硕ROG、机械师和雷神等品牌厂商也第一时间发布了基于该平台的游戏本。在这几家首发的产品中外观变化最大,最吸引笔者
2021-05-14 10:35:43
<em>英特尔</em>(INTC.O)创始人之一的戈登·摩尔提出了经典的“摩尔定律”(集成电路上可以容纳的晶体管数量大约每过18个月就会翻倍),这个定律至今仍在发挥作用。 而过去60年,内燃机的热效率仅仅提升了10%左右。作为
2021-05-14 10:35:22
由于新冠病例持续增加,马来西亚在5月12日-6月7日将实施全国封锁,以应对新冠疫情蔓延的趋势。马来西亚是全球半导体封装测试的主要中心之一,有超过50家半导体公司,其中大多数是跨国公司,包括AMD、英飞凌、意法半导体、<em>
2021-05-14 10:35:18