由于对Ubuntu的Snap Store存在不满,并且自己也想整一个个性化,最新内核,并且能做到所有安装的功能都用在刀刃上的Linux,于是这段时间对Arch Linux进行了一些研究。当然,学到了很多。
由于目前我的笔记本不适合安装Linux系统,故这次所有的操作都在虚拟机下完成。
这篇文章也算是根据自己的踩坑记录进行编写。
UEFI+GPT还是Legacy BIOS+MBR?
这里建议UEFI+GPT,因为这是目前现代硬件更加推荐的配置。
在管理硬盘启动项这方面,Legacy BIOS+MBR的启动项管理方式个人觉得非常抽象,但是UEFI+GPT管理启动项理解起来会相对简单。
MBR分区表限制4个主分区(但是扩展分区中可以有无数分区),GPT则限制128个分区(无主分区和扩展分区的区别)。针对大容量硬盘的支持,则GPT更胜一筹。
另外,现在出厂预装Windows的笔记本,均会使用UEFI+GPT,此时双系统方案也就建议使用UEFI+GPT了。
总结: 如果是现代硬件和虚拟机程序,如果支持UEFI+GPT则无脑用UEFI+GPT。本文也只讨论UEFI+GPT这种情况。
下载镜像
访问这里,即可获取本月的Arch Linux启动盘ISO文件:https://archlinux.org/download/。
该ISO文件每月第一天会更新一次。为了保证启动盘启动的Arch Linux不会出一些奇怪的问题(比如keyring问题),在安装好Arch Linux系统之后也是建议定期更新启动盘ISO文件。
同时,对于一些疑难杂症,ArchWiki也是一个好东西。当然,ArchWiki中也有完善的安装指引文章,对于Arch Linux新手,如果能看懂则会有很大帮助。
启动系统,联网
启动系统
对于虚拟机,将ISO载入到虚拟机即可。
对于实体机,则需要将其写入到U盘中。你也可以使用Ventoy,这样处理和更新Arch Linux ISO会更加方便。
进入GRUB界面时,默认选择第一项。
当你进入这个界面时,就代表Arch Linux ISO已经启动完成,可以开始操作了。
联网
如果你的电脑或笔记本已经接入了有线网络,则可以直接开始下一步操作。
对于WiFi用户,需要通过iwctl
命令手动联网。
请注意,如果使用实体机安装,尽量不要使用需要浏览器认证才能使用的网络,比如部分校园网。因为此时很难使用浏览器进行验证操作。
如果你想远程SSH来配置系统
如果你有两台电脑,或者虚拟机安装Arch Linux,可以考虑通过SSH的方式来进行接下来的安装。
Arch Linux ISO启动的系统支持使用远程SSH进行系统配置。如果确实要这么做,请确保Arch Linux ISO启动的系统已经正确联网,同时(如果你是实体机安装)建议两台电脑位于同一网络下,且两台电脑可通过这个网络互相连接(有些校园网共用WiFi可能存在设备隔离,即使两台设备在同一WiFi下,也无法互相连接)。
# 设置root用户的密码,不设置将无法使用SSH连接
passwd
# 获取当前系统的IP地址
ip addr
在ip addr
命令的输出结果中找到当前系统的IP地址,然后使用另外一台电脑的SSH连接即可(使用root账户)。
分区,格式化,挂载
这里推荐使用cfdisk
进行分区操作。
# 请将/dev/nvme0n1更换为你自己的硬盘,比如/dev/sda。
# 由于此处我用的是VMware虚拟机模拟出了NVMe,此处填写NVMe硬盘位置。
cfdisk /dev/nvme0n1
如果是第一次操作硬盘,会出现这个界面。由于我们正在讨论UEFI+GPT方案,所以此步选择gpt。
Legacy BIOS+MBR方案用户需要选择dos选项。
此时将正式进入cfdisk
的分区界面。这种可视化UI界面应该很好上手。
接下来,是一些常见的分区方案:
在新建EFI分区时,需要选择下方的Type
选项,修改分区类型为EFI System
。
这是个人在虚拟机中的选择的分区方案。
选择下方的Write选项,保存分区表,即可退出cfdisk。
接下来,我们需要格式化并将挂载分区。
# 需要格式化的硬盘千万不要输错!下面的硬盘只是示例。
mkfs.fat -F 32 /dev/nvme0n1p1
mkfs.ext4 /dev/nvme0n1p2
mkfs.ext4 /dev/nvme0n1p3
# 接下来挂载分区,通常推荐临时将硬盘挂载到/mnt目录下。
# 一定要按照顺序挂载,通常的挂载顺序为顶级目录,然后再挂载次级目录。
# 比如一个合理的挂载顺序是/mnt -> /mnt/boot -> /mnt/boot/efi
# 不按照顺序挂载的结果就是挂载顺序错误的部分目录无法访问,后续生成的fstab数据也会有问题。
# 如果出现这种情况,一定要umount卸载挂载点,再重新进行挂载。
mount --mkdir /dev/nvme0n1p3 /mnt
mount --mkdir /dev/nvme0n1p2 /mnt/boot
mount --mkdir /dev/nvme0n1p1 /mnt/boot/efi
安装系统和初期配置
配置镜像
更新mirrorlist以获取最佳下载速度。
如果你不在中国大陆,记得修改下面命令的国家代码来获取你所在国家的mirrorlist。
# 通过获取ArchLinux官方mirrorlist来更新镜像列表
# 若使用本方法,记得编辑/etc/pacman.d/mirrorlist启用相应的镜像站
curl -o /etc/pacman.d/mirrorlist "https://archlinux.org/mirrorlist/?country=CN&protocol=https"
# 或者,通过reflector直接获取最新的mirrorlist
reflector -c China -l 10 --sort rate --save /etc/pacman.d/mirrorlist
接下来可以修改/etc/pacman.conf
来优化下载速度。
具体操作为,取消ParallelDownloads
这个设置的注释。如果你想,还可以修改这个设置后面的数值(注意必须合理),来增加同时下载的软件包数量。
同时你还可以取消Color
选项的设置,让pacman启用彩色输出。
安装Arch Linux
上述操作做完后,我们就可以正式开始安装Arch Linux了。
# 每次用ArchLinux ISO执行新系统安装前,建议更新当前系统的Keyring
# 每次用ISO启动,只需要执行一次
# 之前就出现过Keyring未更新导致OpenSSL包死活装不上的事情
pacman -Sy archlinux-keyring
# 通过pacstrap在/mnt目录下初始化keyring并安装软件包
# 注意,执行这段命令的同时,会将你当前启动的ArchLinux的/etc/pacman.d/mirrorlist
# 也复制到/mnt目录下
pacstrap -K /mnt base [packages]
将packages
参数换成你需要的包。
这一步可能是你第一次接触Arch Linux,遇到的第一个难点:我应该安装什么?怎么选择需要安装的软件包才是正确的?
这里列举一下这一步常见情况,以及需要安装的包。
提醒:如果后面发现少装了什么包,可以在后面arch-chroot
后使用pacman
补充安装。
# 这段安装代码只是示例,请根据自己的实际需要修改。
# 此处安装linux-firmware和intel-ucode,因为我们假定使用Intel CPU实体机安装。
# 但是编写本文时的实际环境为VMware Workstation虚拟机,因此同时安装open-vm-tools。
pacstrap -K /mnt base linux base-devel linux-firmware intel-ucode pulseaudio pulseaudio-alsa alsa-utils man-db man-pages \
texinfo networkmanager vi vim git zsh open-vm-tools bluez bluez-utils reflector pulseaudio-bluetooth
安装系统的过程可能取决于你电脑的速度和网速。
初期配置
当上面的命令执行完成后,一个全新的Arch Linux系统便装好了(但是还没配置,还不能直接拿来用)。接下来开始配置这个新安装的Arch Linux。
# 首先使用genfstab命令生成fstab数据,并追加到新安装的ArchLinux的/etc/fstab文件中
genfstab /mnt >> /mnt/etc/fstab
# 将根目录切换到/mnt以便进行后续配置
arch-chroot /mnt
# 此时已经切换到新安装的ArchLinux目录下
# 修改计算机名称
echo [你想要的计算机名称] >> /etc/hostname
# 修改时区,请根据自己的需要修改时区
# 修改好后可以输入date来确认时区修改
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 生成本地化文件
vim /etc/locale.gen
# 取消该文件的注释en_US.UTF8 (必须)
# 以及你想要的语言,比如zh_CN.UTF8
# 如果稍后需要将界面调成中文,必须启用zh_CN.UTF8
# 一定要保证会生成en_US.UTF8的翻译,否则初步配置系统期间可能出现字体显示错误问题。
# 保存后执行下面的命令
locale-gen
# 启动必要的服务
systemctl enable NetworkManager # 不启用则无法联网
systemctl enable bluetooth # 如果你安装了蓝牙支持
# 如果你安装了open-vm-tools,启用下面两个服务
systemctl enable vmtoolsd
systemctl enable vmware-vmblock-fuse
# 新安装的ArchLinux的/etc/pacman.conf为默认设置
# 如果需要,你可以按照之前的方法修改/etc/pacman.conf来优化pacman的下载和显示
# 此处编辑过程略
vim /etc/pacman.conf
# 接下来编辑/etc/sudoers文件,否则之后sudo无法使用
# /etc/sudoers默认为只读权限,需要用chmod修改权限后编辑
chmod +w /etc/sudoers
vim /etc/sudoers
# 取消这行的注释:# %wheel ALL=(ALL:ALL) ALL
# 然后保存
chmod -w /etc/sudoers
接下来,需要创建一个自己的账户,安装结束之后,对于桌面平台,我们的大部分时间都会使用自己的账户登录系统,而不是root。
# 把myuser换成你喜欢的用户名
useradd -m -G wheel myuser
# 修改密码,否则等下无法登录
passwd myuser
# 可选: 为root用户设置密码
passwd
如果需要,可以同时生成一个硬盘swapfile(交换文件)。
# 最后生成的文件大小为bs*count,请合理修改bs和count参数,这里是4GB
dd if=/dev/zero of=/var/swapfile bs=1024M count=4
chmod 0600 /var/swapfile
mkswap /var/swapfile
# 写入到fstab中,实现开机挂载
echo '/var/swapfile swap swap defaults 0 0' >> /etc/fstab
# 下面的命令在当前的系统中启用swapfile,如果内存足够,可以不执行
swapon /var/swapfile
GRUB安装
首先需要安装GRUB相关的包。
如果你不需要支持双系统,则不需要安装os-prober
。
# 安装GRUB相关的包
# 如果不需要双系统,可以不安装os-prober
pacman -S grub efibootmgr os-prober
接下来,将GRUB相关的EFI启动项安装到你的电脑中,并生成GRUB配置文件。
# bootloader-id可以取一个你喜欢的,也可以不加这个参数,使用默认启动项名称
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ArchLinux
# 生成配置
grub-mkconfig -o /boot/grub/grub.cfg
此时,新安装的Arch Linux已经可以正常引导。在进入系统前,需要进行最后一步,安装桌面环境。
KDE安装和配置
现在来看看安装KDE需要安装哪些包。
你可能还想要一些中文字体。这里推荐使用Noto Fonts:noto-fonts
(基础字体集),noto-fonts-cjk
(中日韩字体集,主要是需要这个包),noto-fonts-emoji
(表情字体)
# KDE软件全部安装的示例命令,同时安装中文字体
pacman -S plasma kde-applications xorg cups noto-fonts noto-fonts-cjk noto-fonts-emoji gtkmm3
# 细化安装KDE附加软件的示例命令,同时安装中文字体
pacman -S plasma kde-accessibility-meta kde-graphics-meta kde-multimedia-meta kde-network-meta kde-sdk-meta \
kde-system-meta kde-utilities-meta xorg cups noto-fonts noto-fonts-cjk noto-fonts-emoji gtkmm3
完成上述包的安装后,启用sddm
显示管理器即可。
systemctl enable sddm
# 如果上面安装了cups服务,记得启用
systemctl enable cups
如果怕等下没浏览器用,可以在进行下一步之前,再安装个Firefox。
pacman -S firefox
安装后配置
首次启动
此时,新安装的Arch Linux已经进入了基本可用并且可以引导启动的状态。退出chroot
模式,重启系统。
# 退出chroot
exit
# 此时已经退出arch-chroot,重启系统。
reboot
当先后出现下面的界面时就代表前面的配置成功。
sddm登录界面。
登录后,即可进入KDE Plasma桌面环境。
调整语言设置
如果你喜欢用英文环境,这步可以不看。
为防止TTY乱码,修改/etc/locale.conf
文件,先将全局语言设置为en_US。
LANG="en_US.UTF-8"
接下来针对当前用户设置语言和格式。打开(或新建)~/.xprofile
并输入下面的内容。如果你想,可以把这些内容同时写入到~/.xinitrc
.
export LANG=zh_CN.UTF-8
export LANGUAGE=zh_CN:en_US
export LC_ADDRESS="zh_CN.UTF-8"
export LC_CTYPE="zh_CN.UTF-8"
export LC_IDENTIFICATION="zh_CN.UTF-8"
export LC_MEASUREMENT="zh_CN.UTF-8"
export LC_MESSAGES="zh_CN.UTF-8"
export LC_MONETARY="zh_CN.UTF-8"
export LC_NAME="zh_CN.UTF-8"
export LC_NUMERIC="zh_CN.UTF-8"
export LC_PAPER="zh_CN.UTF-8"
export LC_TELEPHONE="zh_CN.UTF-8"
export LC_TIME="zh_CN.UTF-8"
export LC_COLLATE="zh_CN.UTF-8"
打开设置,选择Regional Settings>Regions & Languages>Language,将简体中文加到语言选项中,并将其优先级调整到最高。
记得点Apply。
接着我们设置一下sddm登录界面的语言。
输入下面命令,进入systemd服务编辑界面。不推荐直接修改sddm的相关服务文件,否则sddm更新时相关更改会被覆盖。
sudo systemctl edit sddm
追加下面的内容,然后保存文件。注意编辑的位置,不要编辑到### Lines below this comment will be discarded
这行下面去。
[Service]
Environment=LANG=zh_CN.UTF8
sudo systemctl revert sddm
。修改结束后,重启系统,此时系统就会变为全中文环境。
中文字体,以及表情字体优化
如果你想直接使用英文环境,那么你可能会发现,中文字体显示的很奇怪(根据ArchWiki,实际上这是Noto Fonts的日文字体)。
此时需要调整fontconfig的相关文件,使Noto Fonts的中文字体优先显示。
另外,我们同时优化一下Noto Fonts Emoji的显示,不做优化的情况下,Konsole中的相关emoji可能会显示不正常(我说的就是你minikube)。
# 需要使用root权限进行创建/编辑,因此,创建/编辑下面两个文件时需要使用sudo
# 文件的具体内容请看下面。
sudo vim /etc/fonts/conf.d/64-language-selector-prefer.conf
sudo vim /etc/fonts/conf.d/64-noto-emoji-conf.conf
# 编辑完成后刷新字体缓存
fc-cache -fv
做完上述步骤建议注销并重新登录一次。
/etc/fonts/conf.d/64-language-selector-prefer.conf
的内容:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<alias>
<family>sans-serif</family>
<prefer>
<family>Noto Sans CJK SC</family>
<family>Noto Sans CJK TC</family>
<family>Noto Sans CJK JP</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>Noto Sans Mono CJK SC</family>
<family>Noto Sans Mono CJK TC</family>
<family>Noto Sans Mono CJK JP</family>
</prefer>
</alias>
</fontconfig>
/etc/fonts/conf.d/64-noto-emoji-conf.conf
文件内容:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<alias>
<family>sans-serif</family>
<prefer>
<family>Sans</family>
<family>Noto Color Emoji</family>
</prefer>
</alias>
<alias>
<family>serif</family>
<prefer>
<family>Serif</family>
<family>Noto Color Emoji</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>Monospace</family>
<family>Noto Color Emoji</family>
</prefer>
</alias>
<match target="font">
<test name="family" compare="contains">
<string>Noto Color Emoji</string>
</test>
<edit name="hinting" mode="assign">
<bool>true</bool>
</edit>
<edit name="hintstyle" mode="assign">
<const>hintslight</const>
</edit>
<edit name="embeddedbitmap" mode="assign">
<bool>true</bool>
</edit>
</match>
</fontconfig>
配置输入法
在KDE中推荐使用fcitx5输入法。
sudo pacman -S fcitx5 fcitx5-configtool fcitx5-chinese-addons fcitx5-gtk
将下面的内容追加到/etc/security/pam_env.conf
中:
INPUT_METHOD DEFAULT=fcitx5
GTK_IM_MODULE DEFAULT=fcitx5
QT_IM_MODULE DEFAULT=fcitx5
XMODIFIERS DEFAULT=\@im=fcitx5
SDL_IM_MODULE DEFAULT=fcitx
注销并重新登录,此时fcitx即可使用。
在设置>语言和区域设置>输入法中添加中文输入法即可。
如果你想玩Rime输入法,也不是不行:
pacman -S fcitx5-rime rime-pinyin-zhwiki
Rime的配置非常复杂。如果有可能,我也可以开个坑来介绍Rime输入法。
启用HiDPI (可选)
进入设置>显卡与显示器>显示器配置,修改全局缩放率选项。
如果你觉得sddm的登录界面字体太小,可以同时优化一下sddm的HiDPI设置。
向/etc/sddm.conf
中追加下面的内容,记得将96换成自己的DPI缩放数值(为96乘以你的缩放比例,比如125%缩放则为120)。
[Wayland]
EnableHiDPI=true
[X11]
EnableHiDPI=true
ServerArguments=-nolisten tcp -dpi 96
修改完HiDPI设置之后可能需要重新启动系统。
优化sddm登录界面
你可能觉得现在的sddm登录界面过于简陋,想修改一下。
打开设置>开机与关机>登录屏幕 (SDDM),选择一款你喜欢的登录界面,并且记得应用设置。
同时你可能还发现sddm登录界面不会自动将数字小键盘打开。可以向/etc/sddm.conf
中追加下面的内容,来让sddm登录界面默认打开小键盘。
以及,你可能想调整一下sddm的登录鼠标指针。
[General]
Numlock=on
# 如果你想修改sddm登录界面的鼠标指针,加入下面的设置
[Theme]
CursorTheme=breeze_cursors
重启系统即可。
AUR和yay/paru
AUR (Arch Linux User Repository),是Arch Linux官方源之外的,一个很重要的软件来源。AUR中的包由用户提供,在官方库找不到的软件包,大部分情况下你总能在AUR中找到相应的软件包,比如Visual Studio Code,Microsft Edge,Google Chrome等等。没有找到自己想要的软件包怎么办?你可以尝试自己编写相关的文件,上传到AUR,分享给其他用户。
所有的AUR软件包均以软件包构建脚本(PKGBUILD)的形式提供,需要你将相关的软件包构建文件和PKGBUILD下载到你的Arch Linux中,手动构建,并安装。听起来有点麻烦,此时你可能就需要AUR Helper来帮忙处理AUR中的软件包。
目前已经有很多现成的AUR Helper,此处介绍两个AUR Helper:yay
和paru
。
在安装AUR Helper之前,我们需要手动将AUR上的一个AUR Helper软件包下载到本地,并进行安装。
yay对应的AUR软件包:yay
(编译构建软件包),yay-bin
(通过预编译的二进制文件构建软件包,推荐使用这个)
paru对应的AUR软件包:paru
(编译构建软件包),paru-bin
(通过预编译的二进制文件构建软件包,推荐使用这个)
此处以paru举例,进行安装。
# 执行命令前请确保安装了base-devel和git软件包,否则接下来的操作可能失败
# 请将paru-bin自行替换为自己需要的AUR Helper软件包
git clone https://aur.archlinux.org/paru-bin.git # 从AUR拉取相关的构建文件
cd paru-bin
makepkg -si # 构建软件包,并在构建成功后立刻安装到系统中
在任意一个AUR Helper安装完成之后,你就能利用这个AUR Helper方便的安装AUR中的软件。
需要注意的是,yay
和paru
尽量不要在root权限下运行。
# yay和paru的命令用法和pacman很相似。
# 下面列举的paru用法,与yay和pacman的相关用法基本一致。基本可以认为将paru直接替换成yay或pacman就行。
# 此处以visual-studio-code-bin,即Visual Studio Code举例。
# yay和paru均不推荐使用root权限运行!
# 查询软件包
paru -Ss visual-studio-code-bin
# 安装软件包
paru -S visual studio-code-bin
# 卸载软件包,并卸载依赖
paru -Rsn visual-studio-code-bin
# 全局更新,先执行系统更新,再执行AUR更新
paru -Syu
# 清理缓存文件
paru -Scc
启用压缩内存 (可选)
正常情况下,swapfile已经足够应付大部分情况。如果你想实现和Windows一样的压缩内存功能,可以继续看这一步。
安装zram-generator
。
sudo pacman -S zram-generator
打开/etc/systemd/zram-generator.conf
,输入下面的内容,保存。
[zram0]
下次系统启动时,就会自动创建压缩内存,并向系统添加相关的swap选项。
如果你不想重启系统而立刻使用压缩内存,可使用以下命令。
sudo systemctl daemon-reload
sudo systemctl start /dev/zram0
# 上面指令输入完成之后,建议输入swapon确认压缩内存启用情况
swapon
一些可能用到的设置/优化
这一段根据博主的实体机Arch Linux使用习惯,实时更新。
KDE关闭Beep音
KDE默认会使用主板蜂鸣器(下面简称Beep音),在某些场合(日用感觉有相当一部分地方)会触发Beep音。
虚拟机还好说,如果是实体机,这个Beep音不走耳机,有的时候会非常尴尬。
在设置>无障碍辅助>声音/视觉提示中,将声音提示关闭即可解决Beep音问题。
桌面右键/Ctrl+Alt+T打开终端
在Windows Terminal中,有右键打开终端的设定。
习惯于这个设定的你,可能也想在KDE中启用相关功能。
在桌面右击,选择配置桌面和壁纸。在弹出的设置中,选择鼠标操作。
点击右键右边的设置按钮,将打开终端设置勾上,保存。
之后在文件管理器和桌面右击,就能看到打开终端的相关选项。
你可能还想使用Ctrl+Alt+T打开终端,因为在部分Linux发行版上确实如此。
打开设置>快捷键,选择添加应用程序,将Konsole添加进来。添加之后即可使用Ctrl+Alt+T打开Konsole。
VMware虚拟机与宿主机的剪贴板共享不生效
由于从KDE Plasma 5.25开始,默认通过一个用户级别systemd服务来启动和管理Plasma相关服务,而VMware Tools用户服务暂时不支持通过这种方式启动所导致。
目前的一种解决方法是禁用这个默认的用户级别systemd服务启动方式,但是不保证后续版本的KDE Plasma,该方法会失效。本文会持续跟进相关情况。
kwriteconfig5 --file startkderc --group General --key systemdBoot false
执行完命令后,注销并重新登录。
其他
本段持续更新中……
一些你可能需要的软件
以下是个人提供的一份可供Arch Linux安装的软件,可供参考。
浏览器:firefox
,chromium
,microsoft-edge-stable-bin
AUR,google-chrome
AUR
办公:libreoffice-fresh
,wps-office
AUR
聊天:discord
,linuxqq
AUR
代码编辑:visual-studio-code-bin
AUR
直播/录屏:obs-studio
JDK:jdk17-openjdk
,jdk11-openjdk
,jdk8-openjdk
Java代码构建系统:maven
,gradle
.NET Core开发:dotnet-sdk
,aspnet-targeting-pack
,aspnet-runtime
邮件处理:thunderbird
远程桌面连接:remmina
(如果需要RDP支持则需要安装freerdp
)
容器管理:docker
笔记本电源管理:power-profiles-daemon
(需要启用power-profiles-daemon
服务)
总结
此时,你已经得到了一个经过一定优化配置,已经可以使用的Arch Linux+KDE桌面环境。恭喜你,完成了初步入门Arch Linux的必要步骤。
开始享受吧!也可以多学习一些相关知识,继续将你的Arch Linux+KDE桌面环境打造成你喜欢的样子。
一个安装流程参考
在编写这篇博文之前,博主也录制了一个相关的安装流程视频(这里可以点击)可供参考。
注意,该视频中的部分操作可能和本文的操作有所出入。且由于博主习惯,视频中全程默认使用英文界面。
ヾ(≧∇≦*)ゝ
(ง •̀_•́)ง Waiting for you
( ,,´・ω・)ノ”(´っω・`。)
ヾ(✿゚▽゚)ノ