成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Webtops——用docker運行Linux桌面

系統 Linux
今天蟲蟲就給大家介紹一個項目Webtops,通過它可以讓用戶在其Web瀏覽器中運行Linux桌面以容器化方式部署。

容器的大流行讓很多東西虛擬化、容器化變成了現實。很多人還希望更多,想在容器中跑整個OS,將容器當虛擬機用。一般來說這個想法不是推薦的做法,但并非是無法實現。今天蟲蟲就給大家介紹一個項目Webtops,通過它可以讓用戶在其Web瀏覽器中運行Linux桌面以容器化方式部署。

概述

Webtops項目和一般的短小精悍,單一功能Docker哲學背道而馳,但是要實現功能就必須如此。該項目需要在容器中運行以下的服務:

(1) Guacamole Server:Apache基金會下的無客戶端一個遠程桌面網關。這是實現Web(瀏覽器)訪問遠程桌面的關鍵。

(2) xrdp Server:提供使用RDP(Microsoft遠程桌面協議)的遠程計算機的圖形登錄。xrdp接受來自各種平臺RDP客戶端的連接,包括reeRDP,rdesktop,NeutrinoRDP和Microsoft遠程桌面客戶端。

(3) Pulseaudio:一個跨平臺的、可通過網絡工作的聲音服務。

(4) Custom nodejs frontend:

(5) Webtops項目可以做到:

  • 像素渲染的完美分辨率
  • 基本的窗口管理器
  • 音頻支持
  • 使用RDP協議
  • 剪貼板支持
  • 屏幕鍵盤支持
  • 遠程文件上傳/下載管理

Webtops設計時候考慮了容器化,以構建基本鏡像的設計理念進行了開發,所以支持應用擴展,可以輕松地將任何Linux GUI應用程序嵌入進來。在桌面環境中,用戶可以通過需求安裝特定的軟件包并根據需要自定義。

安裝部署

由于基于容器化部署,安裝非常簡單,直接一個docker命令就可以完成部署:

  1. docker run -d \ 
  2. --name=webtop \ 
  3. -e PUID=1000 \ 
  4. -e PGID=1000 \ 
  5. -e TZ=Europe/London \ 
  6. -p 3000:3000 \ 
  7. -v /path/to/data:/config \ 
  8. --shm-size="1gb" \ 
  9. --restart unless-stopped \ 
  10. ghcr.io/linuxserver/webtop 

然后通過瀏覽器訪問:localhost:3000,就可以訪問,這是Alpine XFCE桌面環境:

屏幕的左側是一個箭頭,該箭頭可以用來擴展某些內置的遠程交互功能的菜單,也可以使用ctrl + alt + shift組合鍵打開和關閉此菜單:

在彈出菜單中,可以啟動文件瀏覽器,彈出式軟鍵盤(手機或者觸摸板用)以及將剪貼板。

文件瀏覽器中,直接實現用戶當前系統和遠程系統的文件上傳下載和其他一些操作。

用戶當前剪貼板中的內容,先復制到該剪貼板框中,后續才能在遠程機器中使用。

偏好設置

目前除了Alpine外也支持Ubuntu,支持的桌面系統包括:

  • XFCE
  • KDE
  • MATE
  • i3
  • Openbox
  • IceWM

訪問認證

默認情況下,鏡像啟用abc用戶,無需認證就可以訪問。abc用戶默認密碼也是 abc。如果要更改此密碼并在訪問界面時啟用身份驗證,需要通過在服務器上執行:

  1. docker exec -it webtop passwd abc 

然后通過localhost:3000/?login=true訪問

默認會打開xrdp登錄管理器,可以在其中輸入用戶名和密碼。

更新

如前已經說過容器化的Linux桌面環境實際上與經典Docker哲學相悖,因此強烈建議不要使用通過Docker來處理鏡像來更新。可以使用操作系統的包管理更新系統

對于Alpine用apk:

  1. sudo apk upgrade 

Ubuntu則使用apt:

  1. sudo apt-get update && sudo apt-get dist-upgrade –y 

自定義

編譯鏡像

為了讓基礎鏡像中嵌入所需的的APP,比如要添加Firefox容器時候示例Dockerfile:

  1. FROM lsiobase/rdesktop-web:alpine 
  2. RUN \ 
  3. echo "**** install packages ****" && \ 
  4. apk add --no-cache \ 
  5. firefox-esr && \ 
  6. echo "**** cleanup ****" && \ 
  7. rm -rf \ 
  8. /tmp/* 
  9. # add local files 
  10. COPY /root / 
  11. # ports and volumes 
  12. EXPOSE 3000 
  13. VOLUME /config 

除了安裝應用程序外,還需要在啟動文件中/root/defaults/autostart添加firefox的啟動點。

就是這樣,當容器啟動后, Firefox將在基本的Openbox gui中啟動:

還有一個LibreOffice應用的Dockerfile文件如下:

  1. FROM lsiobase/rdesktop-web:alpine 
  2. # set version label 
  3. ARG BUILD_DATE 
  4. ARG VERSION 
  5. ARG LIBREOFFICE_VERSION 
  6. LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}" 
  7. LABEL maintainer="thelamer" 
  8. RUN \ 
  9. echo "**** install packages ****" && \ 
  10. apk add --no-cache --virtual=build-dependencies \ 
  11. curl && \ 
  12. if [ -z ${LIBREOFFICE_VERSION+x} ]; then \ 
  13. LIBREOFFICE_VERSION=$(curl -sL " dl-cdn.alpinelinux.org/alpine/v3.13/community/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \ 
  14. && awk '/^P:libreoffice$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://'); \ 
  15. fi && \ 
  16. apk add --no-cache \ 
  17. libreoffice==${LIBREOFFICE_VERSION} \ 
  18. tint2 && \ 
  19. echo "**** openbox tweaks ****" && \ 
  20. sed -i \ 
  21. 's/NLMC/NLIMC/g' \ 
  22. /etc/xdg/openbox/rc.xml && \ 
  23. echo "**** cleanup ****" && \ 
  24. apk del --purge \ 
  25. build-dependencies && \ 
  26. rm -rf \ 
  27. /tmp/* 
  28. # add local files 
  29. COPY /root / 
  30. # ports and volumes 
  31. EXPOSE 3000 
  32. VOLUME /config 

自啟動

默認只有當用戶登錄Web界面時才會啟動桌面應用程序,如果需要在容器啟動時運行應用程序,則需要設置環境變量:

  1. -e GUIAUTOSTART=true 

如果用戶將默認容器中的密碼更改為abc,還需要設置密碼選項以確保應用程序自動啟動:

  1. -e PASSWORD=yourpassword 

總結

Webtops項目,給了我們一個下容器中運行Linux桌面的選擇,可以做一個演示、臨時系統中使用,當然更多的使用場景還需要大家去嘗試探索,由于是基于容器部署,非常便捷,嘗試也幾乎沒有任何的成本。

 

責任編輯:趙寧寧 來源: 今日頭條
相關推薦

2020-04-21 16:10:59

ROX桌面Linux

2013-03-05 13:23:29

Linus TorvaGNOME 3

2021-11-11 12:19:47

開源開源工具Linux 桌面

2015-11-25 10:52:37

LinuxAptik備份

2015-12-28 12:03:44

LinuxUnix桌面

2011-07-04 14:58:56

Qt 桌面 qvfb

2013-08-28 15:50:36

Linux桌面Mac

2014-09-18 10:01:53

Linux

2019-12-16 09:22:58

GNOMELinux桌面

2017-10-09 16:44:00

2009-03-04 17:51:52

桌面LinuxWindows虛擬化

2014-09-03 11:26:11

2023-07-20 12:32:42

Linux桌面

2013-04-09 09:38:02

2011-07-04 14:11:43

QT 桌面 Embedded

2013-05-14 10:53:43

2009-12-15 16:58:36

Linux中文桌面

2009-05-25 13:50:28

Linux桌面走俏

2014-05-13 10:47:30

Linux 桌面GNULinux

2013-10-11 15:53:25

LinuxLinuxMintCinnamon
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文字幕一区在线观看视频 | 日韩在线免费看 | 天天综合网天天综合 | 亚洲男人天堂 | 国产国拍亚洲精品av | h片在线看 | 91成人免费观看 | 国产成人免费 | 精品欧美一区二区三区精品久久 | 国产日韩免费视频 | 国产精品乱码一二三区的特点 | 91文字幕巨乱亚洲香蕉 | 青娱乐av | 成人毛片一区二区三区 | 亚洲视频精品在线 | 欧洲精品码一区二区三区免费看 | 欧美日韩国产精品一区 | a免费视频 | 91综合在线视频 | 欧美成人一区二区三区 | 中文字幕亚洲在线 | 日韩一区和二区 | 超碰在线人人 | 激情久久久久 | 亚洲精品aⅴ | 一区二区成人 | 国产九九九 | 亚洲中午字幕 | 国产精品久久久久久影视 | 成人免费福利 | 夜夜草导航| 国产免费一区 | 国产精品成av人在线视午夜片 | 羞羞视频在线观看 | 日韩在线中文字幕 | 亚洲精品电影在线观看 | 电影91久久久 | 午夜电影网 | 色婷婷av一区二区三区软件 | 天天影视网天天综合色在线播放 | 男人的天堂avav |