在虚拟机上使用 CentOS 7 作为桌面系统

目录
大家好,
我是Mandai,Wild团队负责开发工作的成员。
我终于把用 Vagrant 搭建的虚拟环境升级到了 CentOS 7。
我不想再把开发环境塞进虚拟机里了,但因为习惯了,所以还是继续用着。
把所有东西整理好花了我不少功夫,所以我整理了一些工作笔记。
2018/03/05 通过 wget 获取的 rpm 文件中的一些链接已损坏,因此我们将其更改为备用服务器的 URL。
尝试通过 Vagrant 启动虚拟机
如果你使用vagrant,只需运行以下命令,它就会自动启动。
vagrant init centos/7; vagrant up
上述命令会将虚拟机镜像下载到 Atlas 上并自动启动它。
之后,您可以通过 SSH 或在 Vagrantfile 中启用 gui.on = true 来访问控制台。
首先使用默认的 vagrant 用户(以 vagrant / vagrant 身份登录)。
成功登录后,即可更改设置。
更改键盘设置
在美式键盘上很难找到冒号,所以我做的第一件事就是更改按键映射。
sudo localectl set-keymap jp106 sudo localectl set-keymap jp-OADG109A
语言设置
由于我们开发的是桌面版,所以我们还需要设置语言。通常的做法是通过 localectl 命令来更改语言。
sudo localectl set-locale LANG=ja_JP.utf8
桌面安装
我还想要一个图形用户界面,所以我将安装该软件包:
sudo yum -y groupinstall "GNOME Desktop"
更改运行级别
从 CentOS 7 开始,initd 被 systemd 取代。
需要注意的是,在 systemd 中,运行级别(runlevel)的概念已经过时
,取而代之的是目标(target)的概念。
要更改启动时的目标,您需要相应地修改以下符号链接。
链接目标位于 /lib/systemd/system 目录下。
/etc/systemd/system/default.target
然而,由于目前正处于过渡期,每个运行级别对应的目标都位于 /lib/systemd/system 目录下。
这种设计即使对于老用户来说也很友好。
以下是每个运行级别对应的目标列表。
| runlevel0.target -> poweroff.target |
| runlevel1.target -> rescue.target |
| runlevel2.target -> multi-user.target |
| runlevel3.target -> multi-user.target |
| runlevel4.target -> multi-user.target |
| runlevel5.target -> graphic.target |
| runlevel6.target -> reboot.target |
你可以通过查看符号链接的目标地址来判断运行级别发生了哪些变化。systemd
不仅仅控制运行级别;它还取代了 initd,所以你需要掌握很多新的知识,但我想情况就是这样。
顺便一提,systemd 的引入在 Linux 行业引起了不小的轰动,引发了不少争议和麻烦。
我们自己的 Linus Torvalds 显然非常不满,我至今仍清晰地记得他对 systemd 的开发者们破口大骂。
所以,实际上,我们要和 chkconfig 说再见了。
从现在开始,请使用 systemctl 命令代替 chkconfig 命令!
安装 Git
如果没有 git,你将无法从存储库中获取源代码,因此你需要安装它。
sudo yum -y install git
安装 mozc
既然我已经谈到了服务器的一些非常基本的方面,比如运行级别,接下来我会稍微轻松一些,但是当我在 Linux 中输入命令时,我使用 mozc。
安装 Mozc 需要多个 RPM 包,在 CentOS 6 中,我以前会创建一个批处理文件来一次性安装所有 RPM 包。但是,我无法使用相同的 RPM 包进行安装,所以我到处寻找新的 RPM 包,最终找到了这个方法。
通过 IBus 使用 Mozc 所需的 RPM 包分散在各个位置,难以找到,因此为了加快安装速度,请运行以下命令。
wget ftp://mirror.switch.ch/pool/4/mirror/centos/7.4.1708/os/x86_64/Packages/protobuf-2.5.0-8.el7.x86_64.rpm wget ftp://ftp.pbone.net/mirror/archive.fedoraproject.org/fedora/linux/releases/19/Everything/x86_64/os/Packages/z/zinnia-0.06-16.fc19.x86_64.rpm wget ftp://ftp.pbone.net/mirror/archive.fedoraproject.org/fedora/linux/releases/19/Everything/x86_64/os/Packages/z/zinnia-tomoe-0.06-16.fc19.x86_64.rpm wget ftp://ftp.pbone.net/mirror/archive.fedoraproject.org/fedora/linux/releases/19/Everything/x86_64/os/Packages/i/ibus-mozc-1.10.1390.102-1.fc19.x86_64.rpm wget ftp://ftp.pbone.net/mirror/archive.fedoraproject.org/fedora/linux/releases/19/Everything/x86_64/os/Packages/m/mozc-1.10.1390.102-1.fc19.x86_64.rpm sudo yum localinstall -y ibus-mozc-1.10.1390.102-1.fc19.x86_64.rpm mozc-1.10.1390.102-1.fc19.x86_64.rpm protobuf-2.5.0-8.el7.x86_64.rpm zinnia-0.06-16.fc19.x86_64.rpm zinnia-tomoe-0.06-16.fc19.x86_64.rpm
基本方法是使用 Fedora 19 的 RPM 包。虽然网上有很多相关信息,但简而言之,CentOS 7 是基于 Fedora 19 和 Fedora 20 的代码构建的。
使用 Fedora 19 RPM 包的主要原因是 CentOS 7 中安装的 ibus 版本与 Fedora 19 中的版本相似。
如果您要替换 ibus,则可以使用最新的 mozc(未经证实)。
2018年3月5日更新:
由于我很久没更新了,一些RPM包似乎已经无法下载,所以我稍微修改了上面wget命令的下载源。
它现在主要从rpm.pb.net搜索,但每次都搜索比较麻烦,所以我也添加了列出RPM链接的页面URL。
补充说明到此结束。
安装谷歌浏览器
Firefox 是默认安装的,但如果你的目标是进行 Web 开发,我认为使用 Chrome 的开发者工具会更方便。Chromium
也是一个选择,但我更想试试 Chrome,它的安装比 CentOS 6 里容易得多。
我以前用CentOS 6的时候,安装Chrome浏览器非常麻烦,因为glibc版本太旧了。
而且当时也不支持自动更新。
从现在开始,就像Windows系统一样,您将能够自动使用最新版本。
方法很简单:
此下载页面,然后点击“下载 Chrome”按钮即可。
页面会自动读取您的操作系统,并提供正确的 RPM 软件包链接。
选择您要下载的 RPM 文件,然后等待下载完成。
完成后,在文件管理器中双击 rpm 文件以启动应用程序安装程序。按下“安装”按钮,待管理员权限验证通过后,就完成了!
所以,你每次都这样做吗?
这就引出了一个问题。
如果你打算认真做这件事,可以使用 Chef 和 Ansible 之类的配置工具,但 Vagrant 也提供了 shell 脚本选项。
毕竟,你可以用文本编辑器来编写脚本。这感觉非常方便。
以下命令是一个 shell 脚本,它将我目前为止写好的内容转换成一个 shell 脚本。
#!/bin/bash # 安装 Chrome 函数 install_chrome { cat << CHROME > /etc/yum.repos.d/google-chrome.repo [google-chrome] name=google-chrome - \$basearch baseurl=http://dl.google.com/linux/chrome/rpm/stable/\$basearch enabled=1 gpgcheck=1 gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub CHROME sudo yum -y install google-chrome-stable } # 安装 Mozc 函数 install_mozc { cd ~ cat << MOZC > mozc_required_rpms.txt ftp://mirror.switch.ch/pool/4/mirror/centos/7.4.1708/os/x86_64/Packages/protobuf-2.5.0-8.el7.x86_64.rpm ftp://ftp.pbone.net/mirror/archive.fedoraproject.org/fedora/linux/releases/19/Everything/x86_64/os/Packages/z/zinnia-0.06-16.fc19.x86_64.rpm ftp://ftp.pbone.net/mirror/archive.fedoraproject.org/fedora/linux/releases/19/Everything/x86_64/os/Packages/z/zinnia-tomoe-0.06-16.fc19.x86_64.rpm ftp://ftp.pbone.net/mirror/archive.fedoraproject.org/fedora/linux/releases/19/Everything/x86_64/os/Packages/i/ibus-mozc-1.10.1390.102-1.fc19.x86_64.rpm ftp://ftp.pbone.net/mirror/archive.fedoraproject.org/fedora/linux/releases/19/Everything/x86_64/os/Packages/m/mozc-1.10.1390.102-1.fc19.x86_64.rpm MOZC xargs -P 10 -n 1 wget -nv < mozc_required_rpms.txt sudo yum localinstall -y ibus-mozc-1.10.1390.102-1.fc19.x86_64.rpm mozc-1.10.1390.102-1.fc19.x86_64.rpm protobuf-2.5.0-8.el7.x86_64.rpm zinnia-0.06-16.fc19.x86_64.rpm zinnia-tomoe-0.06-16.fc19.x86_64.rpm && \ rm -f ibus-mozc-1.10.1390.102-1.fc19.x86_64.rpm mozc-1.10.1390.102-1.fc19.x86_64.rpm protobuf-2.5.0-8.el7.x86_64.rpm zinnia-0.06-16.fc19.x86_64.rpm zinnia-tomoe-0.06-16.fc19.x86_64.rpm mozc_required_rpms.txt } # 更改键盘设置函数 change_keymap { sudo localectl set-keymap jp106 sudo localectl set-keymap jp-OADG109A # 更改为支持 Windows 键的键盘映射 } # 更改 localectl 函数 change_locale { sudo localectl set-locale LANG=ja_JP.utf8 } # 安装 GNOME 桌面函数 install_gnome_desktop { sudo yum -y groupinstall "GNOME Desktop" } 函数 change_default_target { cd /etc/systemd/system sudo ln -sf /lib/systemd/system/graphical.target default.target } change_locale change_keymap install_gnome_desktop && change_default_target install_chrome install_mozc
感谢您提出的应该从一开始就发布该视频的意见!
初始设置基本完成,但仍存在一些问题。
- 这意味着用户区域(桌面/文档/下载等)中与系统相关的目录的文件夹名称将以日语显示。
- 我无法使用半角/全角键输入日语。
要解决第一个问题,首先运行以下命令来显示对话框:
LANG=C xdg-user-dirs-gtk-update
按顺序点击图片即可。
要解决第二个问题,请运行以下命令显示对话框:
ibus 设置
接下来,请按照图中所示的顺序完成对话。
将 Mozc 添加到您的输入源。您可以从左上角的系统托盘访问它。
更改快捷键设置。
点击红色圆圈区域,然后按半角/全角键。
它看似简单,实则蕴含着惊人的深度,所以即使你知道它在哪里,你仍然可能会迷路。
(附赠)安装 Visual Studio Code
使用方法与 Chrome 浏览器相同。
这款编辑器是我目前最喜欢的,所以即使你不用它,也建议你安装一个。
Visual Studio Code网站,你会找到一个 RPM 包的链接,下载 RPM 包并使用应用程序安装程序进行安装。
在 CentOS 6 上,由于与 glibc 版本存在兼容性问题,无法安装。
就这样。
0















