我在谷歌搜索后提出问题,并尝试了多种解决方案,但需要一个具体的答案。
我已经使用 SSH 登录了另一台电脑,我需要知道操作系统发行版是服务器还是桌面。
我尝试了以下命令及其输出:
lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.04.5 LTS
Release: 12.04
Codename: precise
第二命令
cat /proc/version
Linux version 3.5.0-61-generic (buildd@toyol) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #90-Ubuntu SMP Sun Apr 26 11:23:53 UTC 2015
与此完全不重复
答案1
正如链接的帖子中提到的,不容易确定您使用的是桌面版还是服务器版,因为所有软件包都可以安装或删除。
这是我用于脚本的函数。基本上,它会检查是否安装了 xserver-common 或 xwayland。如果安装了其中一个,则意味着它是一个桌面系统。
#!/usr/bin/env bash
check_if_desktop (){
IS_DESKTOP="false"
displayManager=(
'xserver-common' # X Window System (X.Org) infrastructure
'xwayland' # Xwayland X server
)
for i in "${displayManager[@]}"; do
dpkg-query --show --showformat='${Status}\n' $i 2> /dev/null | grep "install ok installed" &> /dev/null
if [[ $? -eq 0 ]]; then
IS_DESKTOP="true"
fi
done
}
还有一些其他事项需要检查:
默认情况下,服务器版本使用经典/etc/network/interfaces
,而桌面版本使用网络管理器运行,因此请检查是否安装了网络管理器
dpkg -l network-manager
或者,如果您收到如下消息,请运行命令 nmcli(NM 的命令行工具):
The program 'nmcli' is currently not installed. You can install it by typing:
sudo apt-get install network-manager
您使用的很可能是服务器版本。但请记住,您可以修改服务器以使用 NM 进行操作。
使用以下命令确定桌面组件是否已安装
dpkg -l ubuntu-desktop
在服务器上你会收到如下消息:
dpkg-query: no packages found matching ubuntu-desktop
在桌面上,您将收到一条消息,告诉您安装了哪个版本
检查通常在桌面上找到的其他软件包:
dpkg -l unity (gnome, mate and so one) # Desktop environments
dpkg -l compiz (E17, fluxbox and so one) # Window manager
dpkg -l xorg # X window server
或使用:
dpkg-query --show --showformat='${Status}\n' *packagename* 2> /dev/null | grep "install ok installed"
检查 X 服务器是否正在运行:
ps -e | grep X
sudo netstat -lp | grep -i Xorg
检查仅在桌面上可用的服务:
检查服务的方式取决于你的 Ubuntu 版本:
sudo service *servicename* status # on SysVinit
sudo status *servicename* # on Upstart
systemctl status *servicename*.service # on systemd
典型的服务有:
- 光调制
- x11-常见
- gnome 外壳
还有一些与某些衍生品相关的
我的应用程序依赖于服务器分布
即使在桌面版上运行服务器应用程序没有任何意义,但在桌面版上安装应用程序的所有依赖项并使其运行也不会有任何问题。
您能详细说明一下为什么它依赖于服务器发行版吗?
答案2
你应该尝试以下步骤 1:输入dpkg --list
此命令将显示所有已安装的软件包(会有很多)步骤 2:向上或向下滚动以查找任何 *-session 软件包,我相信它们是桌面的来源
祝你好运!