blfs(systemd版本)学习笔记-为桌面环境构建xorg服务
lfs准备使用桌面环境,首先需要构建xorg服务
xorg服务项目地址:http://www.linuxfromscratch.org/blfs/view/stable-systemd/x/installing.html
一.制作构建xorg包的自动化脚本
1.需要完成书中bash shell启动文件章节
bash shell启动文件项目地址:http://www.linuxfromscratch.org/blfs/view/stable-systemd/postlfs/profile.html
我的相应的操作笔记:https://www.cnblogs.com/renren-study-notes/p/10390598.html
2.在blfs-sources目录下创建xc工作目录
# mkdir xc &&
cd xc
3.创建安装前缀这里使用linux通用的/usr目录
export XORG_PREFIX="/usr"
4.创建引用设置的变量
export XORG_CONFIG="--prefix=$XORG_PREFIX --sysconfdir=/etc \
--localstatedir=/var --disable-static"
5.切换root用户创建变量脚本文件
cat > /etc/profile.d/xorg.sh << EOF
XORG_PREFIX="$XORG_PREFIX"
XORG_CONFIG="--prefix=\$XORG_PREFIX --sysconfdir=/etc --localstatedir=/var --disable-static"
export XORG_PREFIX XORG_CONFIG
EOF
chmod 644 /etc/profile.d/xorg.sh
重启后开始编译安装xorg的每一个包
主要编译过程概述(详细步骤参照blfs总页笔记)
blfs学习笔记总页链接:https://www.cnblogs.com/renren-study-notes/p/10385413.html
1.进入xc目录 2.下载包 3.校验md5 4.解压包 5.进入包目录 6.参照书中说明编译安装配置 7.退出目录删除解压的包的文件
2.xorg常规库章节操作步骤
fontconfig包在我的这篇笔记中有相关内容:https://www.cnblogs.com/renren-study-notes/p/10390874.html
首先创建一个用于验证md5的文件
cat > lib-7.md5 << "EOF"
c5ba432dd1514d858053ffe9f4737dd8 xtrans-1.3.5.tar.bz2
6b0f83e851b3b469dd660f3a95ac3e42 libX11-1.6.6.tar.bz2
52df7c4c1f0badd9f82ab124fb32eb97 libXext-1.3.3.tar.bz2
d79d9fe2aa55eb0f69b1a4351e1368f7 libFS-1.0.7.tar.bz2
addfb1e897ca8079531669c7c7711726 libICE-1.0.9.tar.bz2
499a7773c65aba513609fe651853c5f3 libSM-1.2.2.tar.bz2
eeea9d5af3e6c143d0ea1721d27a5e49 libXScrnSaver-1.2.3.tar.bz2
8f5b5576fbabba29a05f3ca2226f74d3 libXt-1.1.5.tar.bz2
41d92ab627dfa06568076043f3e089e4 libXmu-1.1.2.tar.bz2
20f4627672edb2bd06a749f11aa97302 libXpm-3.5.12.tar.bz2
e5e06eb14a608b58746bdd1c0bd7b8e3 libXaw-1.0.13.tar.bz2
07e01e046a0215574f36a3aacb148be0 libXfixes-5.0.3.tar.bz2
f7a218dcbf6f0848599c6c36fc65c51a libXcomposite-0.4.4.tar.bz2
802179a76bded0b658f4e9ec5e1830a4 libXrender-0.9.10.tar.bz2
58fe3514e1e7135cf364101e714d1a14 libXcursor-1.1.15.tar.bz2
0cf292de2a9fa2e9a939aefde68fd34f libXdamage-1.1.4.tar.bz2
0920924c3a9ebc1265517bdd2f9fde50 libfontenc-1.1.3.tar.bz2
b7ca87dfafeb5205b28a1e91ac3efe85 libXfont2-2.0.3.tar.bz2
331b3a2a3a1a78b5b44cfbd43f86fcfe libXft-2.3.2.tar.bz2
1f0f2719c020655a60aee334ddd26d67 libXi-1.7.9.tar.bz2
0d5f826a197dae74da67af4a9ef35885 libXinerama-1.1.4.tar.bz2
28e486f1d491b757173dd85ba34ee884 libXrandr-1.5.1.tar.bz2
5d6d443d1abc8e1f6fc1c57fb27729bb libXres-1.2.0.tar.bz2
ef8c2c1d16a00bd95b9fdcef63b8a2ca libXtst-1.2.3.tar.bz2
210b6ef30dda2256d54763136faa37b9 libXv-1.0.11.tar.bz2
4cbe1c1def7a5e1b0ed5fce8e512f4c6 libXvMC-1.0.10.tar.bz2
d7dd9b9df336b7dd4028b6b56542ff2c libXxf86dga-1.1.4.tar.bz2
298b8fff82df17304dfdb5fe4066fe3a libXxf86vm-1.1.4.tar.bz2
d2f1f0ec68ac3932dd7f1d9aa0a7a11c libdmx-1.1.4.tar.bz2
8f436e151d5106a9cfaa71857a066d33 libpciaccess-0.14.tar.bz2
4a4cfeaf24dab1b991903455d6d7d404 libxkbfile-1.0.9.tar.bz2
42dda8016943dc12aff2c03a036e0937 libxshmfence-1.3.tar.bz2
EOF
下载并校验所有软件包
mkdir lib &&
cd lib &&
grep -v '^#' ../lib-7.md5 | awk '{print $2}' | wget -i- -nc \
-B https://www.x.org/pub/individual/lib/ &&
md5sum -c ../lib-7.md5
切换root用户并配置as root脚本
su
as_root()
{
if [ $EUID = 0 ]; then $*
elif [ -x /usr/bin/sudo ]; then sudo $*
else su -c \\"$*\\"
fi
} export -f as_root
创建一个出错时退出的bash
#bash -e
运行以下命令安装所有软件包
#for package in $(grep -v '^#' ../lib-7.md5 | awk '{print $2}')
do
packagedir=${package%.tar.bz2}
tar -xf $package
pushd $packagedir
case $packagedir in
libICE* )
./configure $XORG_CONFIG ICE_LIBS=-lpthread
;; libXfont2-[0-9]* )
./configure $XORG_CONFIG --disable-devel-docs
;; libXt-[0-9]* )
./configure $XORG_CONFIG \
--with-appdefaultdir=/etc/X11/app-defaults
;; * )
./configure $XORG_CONFIG
;;
esac
make -j8
#make check 2>&1 | tee ../$packagedir-make_check.log
as_root make install
popd
rm -rf $packagedir
as_root /sbin/ldconfig
done
退出之前启动的bash
exit
3. Mesa的依赖关系图
4.编译安装curl最后的小测试运行提供的命令查看有没有下载文件
5.编译安装cmack测试时的命令bin / ctest -j <N>
-O cmake-3.12.1-test.log(<N>参数为cpu核心数)
6.安装mesa时选择对应自己显卡型号的驱动程序
i915:intel显卡
r300,r600,radeonsi:amd显卡
nouveau:n卡
二.安装xorg应用程序
创建md5目录
su
cat > app-7.md5 << "EOF"
3b9b79fa0f9928161f4bad94273de7ae iceauth-1.0.8.tar.bz2
c4a3664e08e5a47c120ff9263ee2f20c luit-1.1.1.tar.bz2
18c429148c96c2079edda922a2b67632 mkfontdir-1.0.7.tar.bz2
987c438e79f5ddb84a9c5726a1610819 mkfontscale-1.1.3.tar.bz2
e475167a892b589da23edf8edf8c942d sessreg-1.1.1.tar.bz2
2c47a1b8e268df73963c4eb2316b1a89 setxkbmap-1.3.1.tar.bz2
3a93d9f0859de5d8b65a68a125d48f6a smproxy-1.0.6.tar.bz2
f0b24e4d8beb622a419e8431e1c03cd7 x11perf-1.6.0.tar.bz2
f3f76cb10f69b571c43893ea6a634aa4 xauth-1.0.10.tar.bz2
d50cf135af04436b9456a5ab7dcf7971 xbacklight-1.2.2.tar.bz2
9956d751ea3ae4538c3ebd07f70736a0 xcmsdb-1.0.5.tar.bz2
b58a87e6cd7145c70346adad551dba48 xcursorgen-1.0.6.tar.bz2
8809037bd48599af55dad81c508b6b39 xdpyinfo-1.3.2.tar.bz2
480e63cd365f03eb2515a6527d5f4ca6 xdriinfo-1.0.6.tar.bz2
249bdde90f01c0d861af52dc8fec379e xev-1.2.2.tar.bz2
90b4305157c2b966d5180e2ee61262be xgamma-1.0.6.tar.bz2
f5d490738b148cb7f2fe760f40f92516 xhost-1.0.7.tar.bz2
6a889412eff2e3c1c6bb19146f6fe84c xinput-1.6.2.tar.bz2
12610df19df2af3797f2c130ee2bce97 xkbcomp-1.4.2.tar.bz2
c747faf1f78f5a5962419f8bdd066501 xkbevd-1.1.4.tar.bz2
502b14843f610af977dffc6cbf2102d5 xkbutils-1.0.4.tar.bz2
938177e4472c346cf031c1aefd8934fc xkill-1.0.5.tar.bz2
5dcb6e6c4b28c8d7aeb45257f5a72a7d xlsatoms-1.1.2.tar.bz2
4fa92377e0ddc137cd226a7a87b6b29a xlsclients-1.1.4.tar.bz2
e50ffae17eeb3943079620cb78f5ce0b xmessage-1.0.5.tar.bz2
723f02d3a5f98450554556205f0a9497 xmodmap-1.0.9.tar.bz2
eaac255076ea351fd08d76025788d9f9 xpr-1.0.5.tar.bz2
4becb3ddc4674d741487189e4ce3d0b6 xprop-1.2.3.tar.bz2
ebffac98021b8f1dc71da0c1918e9b57 xrandr-1.5.0.tar.bz2
96f9423eab4d0641c70848d665737d2e xrdb-1.1.1.tar.bz2
c56fa4adbeed1ee5173f464a4c4a61a6 xrefresh-1.0.6.tar.bz2
70ea7bc7bacf1a124b1692605883f620 xset-1.2.4.tar.bz2
5fe769c8777a6e873ed1305e4ce2c353 xsetroot-1.1.2.tar.bz2
558360176b718dee3c39bc0648c0d10c xvinfo-1.1.3.tar.bz2
11794a8eba6d295a192a8975287fd947 xwd-1.0.7.tar.bz2
9a505b91ae7160bbdec360968d060c83 xwininfo-1.1.4.tar.bz2
79972093bb0766fcd0223b2bd6d11932 xwud-1.0.5.tar.bz2
EOF
创建app目录并下载包到app目录
mkdir app &&
cd app &&
grep -v '^#' ../app-7.md5 | awk '{print $2}' | wget -i- -nc \
-B https://www.x.org/pub/individual/app/ &&
md5sum -c ../app-7.md5
切换root用户并配置as root脚本
su
as_root()
{
if [ $EUID = 0 ]; then $*
elif [ -x /usr/bin/sudo ]; then sudo $*
else su -c \\"$*\\"
fi
} export -f as_root
启动一个出错时自动退出的bash
bash -e
运行以下命令安装所有app包
for package in $(grep -v '^#' ../app-7.md5 | awk '{print $2}')
do
packagedir=${package%.tar.bz2}
tar -xf $package
pushd $packagedir
case $packagedir in
luit-[0-9]* )
sed -i -e "/D_XOPEN/s/5/6/" configure
;;
esac ./configure $XORG_CONFIG
make -j8
as_root make -j8 install
popd
rm -rf $packagedir
done
退出之前创建的bash
exit
删除已损坏的未记录脚本
as_root rm -f $XORG_PREFIX/bin/xkeystone
三.安装xorg字体
添加MD5文件
cat > font-7.md5 << "EOF"
23756dab809f9ec5011bb27fb2c3c7d6 font-util-1.3.1.tar.bz2
0f2d6546d514c5cc4ecf78a60657a5c1 encodings-1.0.4.tar.bz2
6d25f64796fef34b53b439c2e9efa562 font-alias-1.0.3.tar.bz2
fcf24554c348df3c689b91596d7f9971 font-adobe-utopia-type1-1.0.4.tar.bz2
e8ca58ea0d3726b94fe9f2c17344be60 font-bh-ttf-1.0.3.tar.bz2
53ed9a42388b7ebb689bdfc374f96a22 font-bh-type1-1.0.3.tar.bz2
bfb2593d2102585f45daa960f43cb3c4 font-ibm-type1-1.0.3.tar.bz2
6306c808f7d7e7d660dfb3859f9091d2 font-misc-ethiopic-1.0.3.tar.bz2
3eeb3fb44690b477d510bbd8f86cf5aa font-xfree86-type1-1.0.4.tar.bz2
EOF
下载包并校验md5
mkdir font &&
cd font &&
grep -v '^#' ../font-7.md5 | awk '{print $2}' | wget -i- -c \
-B https://www.x.org/pub/individual/font/ &&
md5sum -c ../font-7.md5
切换root用户并配置as_root脚本
su
as_root()
{
if [ $EUID = 0 ]; then $*
elif [ -x /usr/bin/sudo ]; then sudo $*
else su -c \\"$*\\"
fi
} export -f as_root
创建一个出错时自动退出的bash
bash -e
自动编译安装所有包
for package in $(grep -v '^#' ../font-7.md5 | awk '{print $2}')
do
packagedir=${package%.tar.bz2}
tar -xf $package
pushd $packagedir
./configure $XORG_CONFIG
make -j8
as_root make install
popd
as_root rm -rf $packagedir
done
退出之前启动的bash
exit
配置fontconfig
install -v -d -m755 /usr/share/fonts &&
ln -svfn $XORG_PREFIX/share/fonts/X11/OTF /usr/share/fonts/X11-OTF &&
ln -svfn $XORG_PREFIX/share/fonts/X11/TTF /usr/share/fonts/X11-TTF
四.xorg-service依赖关系图
构建xorg-service过程中,pm-utils包的构建安装问题
1.首先它的第一个运行时的依赖vbetool很让人头疼,书籍中没有安装说明,资料也不完整
vbetool的官方网站:http://www.codon.org.uk/~mjg59/vbetool/
官方只介绍了他使用的两个依赖:libx86和libpci
libx86的官方地址:http://www.codon.org.uk/~mjg59/libx86/
首先解决这两个依赖
一.libx86包,它的作者不更新了,所以直接在这个包的官网下载的包,不能顺利编译安装,报出各种错误,我的解决思路有两个:
https://pkgs.org/这个linux包的检索网站可以找到一些linux发行版本所使用的包
1.在以上网站找到它的源码包,在它的源码包里面找patch文件,也就是这些发行版本为这个包写的补丁文件,把他加载到官方包里面,在对官方包进行编译安装
2.在以上网站找到它的二进制包,对照官方包里面Makefile文件里面,install一项,看都需要那几个二进制文件,并在发行版本的二进制包中找到,放在官方包里面安装
我只找到了二进制包,这些发行版本并没有提供源码包的补丁,下面贴出我找到的二进制文件打包完的链接
https://files.cnblogs.com/files/renren-study-notes/libx86.tar
具体操作步骤:
1.下载libx86官方包,解压,进入官方包
# wget https://files.cnblogs.com/files/renren-study-notes/libx86.tar
# tar -xvf libx86-1.1.tar.gz
cd libx86-1.1
2.下载并解压我提供的二进制包
https://files.cnblogs.com/files/renren-study-notes/libx86%E4%BA%8C%E8%BF%9B%E5%88%B6%E6%96%87%E4%BB%B6.tar #tar -xvf libx86.tar
3.执行安装命令
#make install
第二个依赖libpci的问题
首先blfs中提供了pciutils这个包,而需要的依赖包时libpci,这个原因是libpci是一些linux发行版本将pciutils包的静态库文件libpci.a单独构成的一个包
所以即使安装了blfs的pciutils包,在编译安装vbetool的过程中也会报错如下
/usr/lib/libpci.a 缺少构建此文件的工具
这里我并没有查到构建libcpi.a文件的工具是哪个,但是我查到了rpm包中构建vbetool所需的依赖
pciutils-devel (blfs书中的pciutils包)
pciutils -devel-static (rpm包中libpci.a的二进制文件)
libx86-devel (前文中的libx86)
于是我就下载了rpm包中的libpci.a文件,放到/usr/lib目录下,没有lib目录可以手动创建,继续编译vbetool包就会提示已经有libpci.a这个文件了,就可以继续安装vbetool包了。
具体操作步骤如下:
libpci.a文件的下载链接:https://files.cnblogs.com/files/renren-study-notes/libpci.tar
pciutils项目地址:http://www.linuxfromscratch.org/blfs/view/stable/general/pciutils.html
1.根据blfs书中的pciutils项目内容编译安装pciutils包(书中都有介绍,节省篇幅不写了)
2.下载我提供的libpci.a文件,创建/usr/lib目录,将下载的文件解压后放到该目录
3.编译安装vbetool
1.下载vbetool包及补丁包
#wget http://ftp.de.debian.org/debian/pool/main/v/vbetool/vbetool_1.1.orig.tar.gz #wget http://ftp.de.debian.org/debian/pool/main/v/vbetool/vbetool_1.1-2.diff.gz
2.解压vbetool包及补丁包
#gunzip vbetool_1.1-2.diff.gz #tar -xvf vbetool_1.1.orig.tar.gz
3.进入vbetool的解压目录并添加补丁文件
cd vbetool_1.1 #patch -i ../vbetool_1.1-2.diff
4.编译安装vbetool包
#./configure --prefix=/usr
#make
#make install
编译安装ethtool包
1.下载包,解压包,进入包目录
# wget https://mirrors.edge.kernel.org/pub/software/network/ethtool/ethtool-4.19.tar.xz #tar -xvf ethtool-4.19.tar.xz cd ethtool-4.19
2.配置,测试,编译,安装
#./configure --prefix=/usr
#make
#make check
#make install
编译安装pm-utils包
它的内核设置不用更改,已经存在于默认配置了
只需要在grub.cfg中加入内核配置项
#vim /boot/grub/grub.cfg 在root=xxx ro 后面加入resume = / dev / <swap_partition>这里更换为你的swap的地址
五.选择编译安装xorg驱动程序
这个章节需要自己选择适合自己计算机的驱动程序
建议此图使用方法:
1.找到自己机器需要的驱动
2.看自己需要的驱动需不需要重新编译内核,如果有,把需要重新编译内核的几个配置列出来,重新编译加入这些配置并安装内核
3.按照依赖关系安装包
4.这里使用查看固件加载命令查看加载错误的固件
dmesg | grep -i firmware
这里提示我缺少的固件是
Failed to load firmware "radeon/HAINAN_pfp.bin
所以参照这个网站的表格
https://wiki.gentoo.org/wiki/Radeon#Firmware
将这个显卡的几个固件加载进内核,具体操作参考我的blfs笔记首页注意事项中的固件加载
blfs笔记首页链接:https://www.cnblogs.com/renren-study-notes/p/10385413.html
六.xterm中的等宽字体处理方法
1.下载字体包
# wget https://files.cnblogs.com/files/renren-study-notes/dejavu-fonts-ttf-2.37.tar.gz
2.解压并进入包
# tar -xvf dejavu-fonts-ttf-2.37.tar.gz cd dejavu-fonts-ttf-2.37
3.复制fontconfig和ttf文件夹下的内容至/usr/share/fontconfig和/usr/share/fonts/X11-TTF文件夹下
# cp ttf/* /usr/share/fonts/X11-TTF/
# cp fontconfig/* /usr/share/fontconfig/
七.启动测试配置xorg
1.重建库并启动xorg服务
这里要退出远程连接使用实体机运行下面的命令
#startx
运行startx后的效果
blfs(systemd版本)学习笔记-为桌面环境构建xorg服务的更多相关文章
- blfs(systemv版本)学习笔记-为桌面环境构建xorg服务
我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! lfs准备使用桌面环境,首先需要构建xorg服务 xorg服务项目地址:http://www.linuxfromscratch. ...
- Nutch1.7学习笔记:基本环境搭建及使用
Nutch1.7学习笔记:基本环境搭建及使用 作者:雨水,时间:2013-10-31博客地址:http://blog.csdn.net/gobitan 说明:Nutch有两个主版本1.x和2.x,它们 ...
- Django:学习笔记(1)——开发环境配置
Django:学习笔记(1)——开发环境配置 Django的安装与配置 安装Django 首先,我们可以执行python -m django --version命令,查看是否已安装django. 如果 ...
- ELK-6.5.3学习笔记–elk基础环境安装
本文预计阅读时间 13 分钟 文章目录[隐藏] 1,准备工作. 2,安装elasticsearch. 3,安装logstash. 4,安装kibana 以往都是纸上谈兵,毕竟事情也都由部门其他小伙伴承 ...
- Hadoop学习笔记(3)——分布式环境搭建
Hadoop学习笔记(3) ——分布式环境搭建 前面,我们已经在单机上把Hadoop运行起来了,但我们知道Hadoop支持分布式的,而它的优点就是在分布上突出的,所以我们得搭个环境模拟一下. 在这里, ...
- 【转】 Pro Android学习笔记(七八):服务(3):远程服务:AIDL文件
目录(?)[-] 在AIDL中定义服务接口 根据AIDL文件自动生成接口代码 文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.n ...
- 【转】 Pro Android学习笔记(七六):服务(1):local和remote
文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flowingflying/ Android提供服务,服务是运行在后台的 ...
- [HeadFrist-HTMLCSS学习笔记]第三章构建模块:Web页面建设
[HeadFrist-HTMLCSS学习笔记]第三章构建模块:Web页面建设 敲黑板!! <q>元素添加短引用,<blockquote>添加长引用 在段落里添加引用就使用< ...
- 【自动化学习笔记】_环境搭建Selenium2+Eclipse+Java+TestNG_(一)
目录 第一步 安装JDK 第二步 下载Eclipse 第三步 在Eclipse中安装TestNG 第四步 下载Selenium IDE.SeleniumRC.IEDriverServer 第五步 下 ...
随机推荐
- Javascript高级编程学习笔记(77)—— 表单(5)过滤输入
在日常实践中,我们常常会需要用户按照某种规则输入数据 但是文本框在默认情况下缺少验证数据的手段,因此需要使用JS来完成此类过滤输入的操作 通过事件和DOM的结合手段就能够将普通的文本框转换为功能型控件 ...
- Javascript高级编程学习笔记(50)—— DOM2和DOM3(2)样式
样式 在HTML中定义元素的方式有以下三种: 1.link标签引入外部样式表 2.style标签定义嵌入样式 3.通过JS中对style特性定义元素样式(行内样式) “DOM2级样式”围绕上述样式机制 ...
- 微信小程序消息通知-打卡考勤
微信小程序消息通知-打卡考勤 效果: 稍微改一下js就行,有不必要的错误,我就不改了,哈哈! index.js //index.js const app = getApp() // 填写微信小程序ap ...
- SpringBoot+logback实现日志打印
logback介绍 logback是一款开源的日志框架,内核重写了,是基于log4j基础进行改良的.其官网为logback.qos.ch.logback在性能上有很大提升,拥有更多特性. logbac ...
- 什么 是JavaScript中的变量? 部分2
变量:是计算机存储数据的标识符 js中存储数据的方式 都是使用变量 js 中声明变量的方式都是var 存储数据,应该有对应的数据类型js中的字符串类型都用成对的单引号或者双引号包裹起来 变量 1. 变 ...
- H5在WebView上开发小结
背景 来自我司业务方要求,需开发一款APP.但由于时间限制,只能采取套壳app方式,即原生app内嵌webview展示前端页面.本文主要记述JavaScript与原生app间通信,以及内嵌webvie ...
- Mac下快速搭建PHP开发环境
最近做了一个后端的项目,是用PHP+MySQL+Nginx做的,所以把搭建环境的方法简单总结一下. 备注: 物料:Apache/Nginx+PHP+MySQL+MAMP Mac OS 10.12.1 ...
- C++版-剑指offer 面试题6:重建二叉树(Leetcode105. Construct Binary Tree from Preorder and Inorder Traversal) 解题报告
剑指offer 重建二叉树 提交网址: http://www.nowcoder.com/practice/8a19cbe657394eeaac2f6ea9b0f6fcf6?tpId=13&tq ...
- Execution failed for task ':app:processDebugResources'
经常会遇到突然AndroidStudio编译不了程序,报错误: Execution failed for task ':app:processDebugResources'. > Failed ...
- 解决运行nodejs代码Error: listen EADDRINUSE
问题是什么 EADDRINUSE其实拆分来看就是error address use表示错误地址的使用,也代表着端口占用. 如何解决问题 那讲道理来说,接下来你就需要找到你要用的端口被哪一个进程所占用了 ...