0


【新的小主机】向日葵远程控制ubuntu

向日葵远程控制ubuntu

一、简介

硬件:酷睿N100小主机,8G+512G。
系统:ubuntu22.04.3
目的:十月一放假,闲来无事,利用向日葵实现windows远程控制ubuntu,并搭建一些微服务。
在这里插入图片描述

二、问题及解决方法

2.1 向日葵远程连接Ubuntu22主机黑屏?

原因:向日葵使用的是

lightdm

来进行界面渲染,但是Ubuntu默认是没有的,而是通过

gdm3

进行图像处理。

使用命令

sudoaptinstall lightdm

安装过程选择桌面系统为lightdm,重启完成修改。
后续也是能修改的

sudo dpkg-reconfigure lightdm

2.2 Ubuntu如何向日葵开机自启?

终端

gnome-session-properties

打开启动应用程序首选项,添加向日葵启动文件的目录

/usr/local/sunlogin/bin/sunloginclient

(开机进桌面后开启动)。

注:设置-用户-自动登录打开,实现开机进桌面启动向日葵。

2.3 无显示器情况下,windows远程桌面连接Ubuntu?

原理
使用xserver-xorg虚拟出一个屏幕,并设置分辨率等配置。
安装虚拟显示器

sudoapt-getinstall  xserver-xorg-core-hwe-18.04
sudoapt-getinstall  xserver-xorg-video-dummy

新建配置文件

sudovi /usr/share/X11/xorg.conf.d/xorg.conf
Section "Device"
    Identifier  "Configured Video Device"
    Driver      "dummy"
EndSection
 
Section "Monitor"
    Identifier  "Configured Monitor"
    HorizSync 31.5-48.5
    VertRefresh 50-70
EndSection
 
Section "Screen"
    Identifier  "Default Screen"
    Monitor     "Configured Monitor"
    Device      "Configured Video Device"
    DefaultDepth 24
    SubSection "Display"
    Depth 24
    Modes "1920x1080"
    EndSubSection
EndSection

重启后就能有一个虚拟屏幕,使用

windows远程桌面

或者

向日葵

即可实现远程连接。
貌似把上边儿新建的的

xorg.conf配置文件

删了再重启就能恢复原来的物理桌面了,这就需要

ssh

拯救了。

注:设置->电源,将节电选项中的息屏改为从不,防止连接中断。
设置->隐私->屏幕,可能还要关闭一个自动锁屏。

三、美化桌面

  • 参考博客 Ubuntu 22.04 桌面美化之Mac Big Sur风格 ubunmac美化为macos风格

3.1 安装/解压

  • 插件:tweaks美化插件gnome的User Themes 插件
  • 主题:WhiteSur-gtk-theme-master.zip
  • 图标:Mkos-Big-Sur-master.zip

3.2 设置

  • 打开tweaks / 优化程序-外观/窗口标题栏,设置Mac的主题和图标,发现tweaks也能设置开机启动程序。
  • 打开设置程序-外观。

3.3 右上角显示实时网速

通过添加

PPA

安装,PPA是指

个人软件包存档

(Personal Package Archives),它是Ubuntu和其他Linux发行版中的一种软件分发方式。PPA允许个人用户创建和维护自己的软件仓库,并将软件包提供给其他用户进行安装和更新。官方PPA通常是可靠和安全的,而来自知名维护商的PPA也较为可靠。然而,来自第三方开发人员或个人用户的PPA的可靠性可能会有所不同,因此需要谨慎对待。有些人对PPA持有不同的观点,纯粹主义者可能不喜欢PPA,而在Ubuntu和Debian等发行版中,PPA仍然很流行,因为它们提供了更简单的软件安装选项。

sudo add-apt-repository ppa:fossfreedom/indicator-sysmonitor    //添加PPA
sudoapt-get update
sudoapt-getinstall indicator-sysmonitor                        //安装
indicator-sysmonitor &                                            //后台运行
>>最后在图形界面中设置开机自启,显示格式。

在这里插入图片描述

四、安装docker容器及部署微服务

4.1 安装docker容器

参考博文:Ubuntu22.04安装Docker

Docker 是一个

高效、灵活、轻量级

的容器化平台,可以在单个操作系统上实现多个容器化应用的隔离和运行。

也就是说可以自己在容器里随意搞,把里边儿环境搞坏也不会影响系统环境,类似于anaconda。
  • 更新apt的密钥和仓库源
sudoapt update

sudoaptinstall apt-transport-https ca-certificates curl gnupg-agent software-properties-common    //更新相关依赖和工具包

curl-fsSL https://download.docker.com/linux/ubuntu/gpg |sudo apt-key add -    //设置docker镜像源每个发布的deb包,都是通过密钥认证的,apt-key用来管理密钥。以下命令就是将docker相关密钥添加到apt-key。
注:出现OK表示设置成功

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"    //添加docker apt仓库源相当于给apt添加了一个关于docker的仓库源。

sudoapt update    //更新apt,以保证后续安装的是最新版docker
  • 安装最新版本docker
sudoaptinstall docker-ce docker-ce-cli containerd.io

sudo systemctl status docker    //验证docker运行状态

docker container run hello-world    //运行Hello world容器

4.2 docker基本命令

镜像(Image)

是一个静态的、不可修改的文件,它包含了运行一个容器所需的所有文件系统、库和软件。镜像可以看作是一个只读的模板,可以用来创建多个容器。

容器(Container)

是镜像的运行实例。它是一个独立且轻量级的运行环境,可以在其中运行应用程序。容器包含了一个镜像的副本,以及一个可读写的文件系统层,允许在容器内对文件进行修改。容器可以被创建、启动、停止、删除等操作。
简而言之,镜像是用于创建容器的模板,容器是镜像的一个实例,它可以在其中运行应用程序。

参考博文:docker常用命令汇总 、 Docker常用命令总结

使用sudo运行docker
  • 帮助启动类命令
systemctl start docker    //启动docker
systemctl stop docker    //停止docker
systemctl restart docker    //重启docker
systemctl status docker        //查看docker状态
systemctl enabledocker        //设置开机自启
systemctl disable docker    //取消开机自启
docker info                    //查看docker概要信息
docker 命令(如run) --help        //查看docker命令帮助文档
docker system df-v            //查看单个image、container大小
  • 镜像相关
docker images                    //查看镜像列表
docker search ubuntu            //镜像搜索,搜索 ubuntu 基础镜像
docker pull 镜像名                //下拉镜像
docker pull 镜像名:Tag
docker rmi -f 镜像名/镜像ID        //删除镜像
docker save 镜像名/镜像ID -o 镜像保存在哪个位置与名字    //保存镜像
docker load -i 镜像保存文件位置    //加载镜像
  • 容器相关
sudodockerps                        //查看运行的容器
sudodockerps-as                    //-a:查看所有容器,包含正在运行和已停止的;-s:顺便看内存
docker run -it-d--name 要取的别名 -p 宿主机端口:容器端口 -v 宿主机文件存储位置:容器内文件位置 镜像名:Tag /bin/bash                 //创建容器

dockerexec-it container /bin/bash 或 docker attach container    //进入正在运行的容器并以命令行交互
dockerexec-it container [shell命令]        //可直接执行容器内部命令
            -d    在后台运行命令
            -i    即使没有附加也保持 STDIN 打开
            -t    设置TTY

docker start 容器ID或者容器名        //启动已停止运行的容器
docker restart 容器ID或者容器名        //重启容器
docker stop 容器名/容器ID            //停止容器
dockerrm-f 容器名/容器ID            //删除一个容器

4.3 部署服务-宝塔面板

参考博文:docker下安装linux宝塔,docker中安装宝塔面板

  • 安装宝塔
//1、下载一个docker镜像,这里用ubutun
docker pull ubuntu
//2、创建一个docker容器命名为baota并后台运行,然后将宿主机的20,21,80,443,888,8888这五个端口映射到docker容器中去。
//将宿主机的/home/www文件夹映射到docker容器的/www上去,privileged表示在运行容器的时候,给容器加特权,设置容器有写文件的权限。
docker run -i-t-d--name baota -p20:20 -p21:21 -p80:80 -p443:443 -p888:888 -p8888:8888 --privileged=true -v /home/www:/www ubuntu
//3、进入容器
dockerexec-it baota /bin/bash
//4、执行宝塔面板ubuntu安装命令
wget-O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh &&bash install.sh ed8484bec
  • 访问宝塔 安装宝塔后,访问端口随机生成了别的端口,正好联系一下docker修改容器端口。 参考博文:修改Docker容器端口
docker stop 容器        //停止容器
systemctl stop docker    //停止docker

//修改以下两个文件中的端口映射
/var/lib/docker/containers/容器ID*/hostconfig.json
/var/lib/docker/containers/容器ID*/config.v2.json

systemctl restart docker    //重启docker
docker restart 容器            //重启容器

这时候局域网访问

{主机ip:端口/安全入口名称}

即可登录面板。
在终端输入

bt

,选择

14

选项也能查看具体访问入口

  • 搭建网站 安装LNMP,建立站点,内网穿透啥啊,注意PHP的版本用到了7.2才适配了我以前的网站数据(php7.2、Nginx1.20.2、MySQL5.7.40、phpmyAdmin5.0、ftp1.0.49),猜测是版本问题导致网站显示有问题。不过后来就都搞好了,还得是性能高的小主机呀,网站运行比之前小盒子的运行的网站流畅多了,看来个人网站还得看服务器的CPU能力。
  • 一键开/关网站

(1)startweb_docker.sh

#!/bin/bashecho"启动docker服务"sudo systemctl start dockerecho"启动baota容器"sudodocker start baota
echo"运行容器中的自启服务,bt、nginx、mysqld、frp等服务"sudodockerexec-it baota /etc/rc.local
echo"ok.^_^."

其中容器内的rc.local

#!/bin/bash# autostart program
/etc/init.d/bt start
sleep1
/etc/init.d/nginx start
sleep1
/etc/init.d/mysqld start
sleep1nohup /frp/frpc -c /frp/frpc.ini >/dev/null 2>&1&echo"frp running"sleep1

(2)stopweb_docker.sh

#!/bin/bashecho"关闭baota容器"sudodocker stop baota
echo"关闭docker服务"sudo systemctl stop docker.service
sudo systemctl stop docker.socket
echo"ok.^_^."

4.4 部署服务-某聊天机器人

参考链接:晓然
源码资源:ChatGPT-Next-Web

  • 部署环境 1.OS:Ubuntu 22.04.3 LTS x86_64 2.Docker版本:Docker version 24.0.6 3.API的url和key:closeai
  • docker部署
docker pull yidadaa/chatgpt-next-web    //获取镜像
sudodocker run -d--name container_name -p host_port:3000 -eOPENAI_API_KEY="api key"-eCODE="log in password"-eBASE_URL="proxy_web"-eDISABLE_GPT4="1"-ePROTOCOL="https" yidadaa/chatgpt-next-web
    //OPENAI_API_KEY:OpenAi api key sk-开头的一串字母
    //CODE:授权码;网页端需要授权码或者自己的api key才可以使用
    //BASE_URL:OpenAI 的接口代理 URL,如果在墙外,可直接指向正宫api.openai.com。
    //PROTOCOL:openai接口协议,默认是https,可选项,但是要和BASE_URL使用的协议一致。
    //-p是暴露的端口
    //DISABLE_GPT4="1"禁用4.0。
  • 内网穿透方案 以上容器运行后只能在局域网通过localhost:host_port访问。公网访问该如何呢,当然是内网穿透啦! 本机有两种方案: 1、重新在主机搞一个内网穿透,把端口映射出去。 2、基于4.3节的baota容器,使用宝塔面板新建一个站点作为反向代理服务器,并指向这个聊天容器的url。 这肯定采用方案2,多省事(不过是在悟空数码增加一条http隧道)。
  • 反向代理服务器搭建

1、在宝塔面板新建站点。
在这里插入图片描述
2、创建代理服务器
在这里插入图片描述
完成以上操作,就能用自定义域名访问这个聊天web了,代理服务器在其中起到中继转发的作用。

4.5 vocechat聊天

sudodocker pull privoce/vocechat-server

sudodocker run -d--restart=always -p host_port:3000 --name vocechat-server -v host_path:/home/vocechat-server/data privoce/vocechat-server

详情点击:官方网站

五、使用习惯

5.1 ubuntu无线WIFI操作

sudo nmcli r wifi on    //开启WiFi
sudo nmcli dev wifi        //扫描附近的 WiFi 热点
sudo nmcli dev wifi connect "热点名称" password "密码" ifname wlan0    //连接到指定的 WiFi 热点
sudo nmcli r wifi off    //关闭 wifi

5.2 系统服务管理器指令systemctl

  • systemctl:管理系统服务的指令。
systemctl start xxx.service         //启动nfs服务

systemctl enable xxx.service         //设置开机自启动

systemctl is-enabled xxx.service    //查看是否开机自启动

systemctl disable xxx.service         //停止开机自启动

systemctl status xxx.service         //查看服务当前状态

systemctl restart xxx.service         //重新启动某服务

systemctl list-units --type=service //查看所有已启动的服务
  • lm-sensors安装包查看cpu温度
sensors    //安装好lm-sensors后,直接查看cpu各个核的温度。

5.3 网络操作

netstat-apn    //查看所有进程和端口的使用情况
标签: ubuntu linux 运维

本文转载自: https://blog.csdn.net/qq_41753052/article/details/133421149
版权归原作者 桃子酱紫君 所有, 如有侵权,请联系我们删除。

“【新的小主机】向日葵远程控制ubuntu”的评论:

还没有评论