基于dde-top-panel+tint2+plank+conky的Deepin(深度)桌面美化
摘要: 苦dde-dock占屏太寬久矣。眾所周知,Deepin是一個(gè)優(yōu)秀的Linux開源系統(tǒng),得益于Deepin團(tuán)隊(duì)的努力,Deepin操作系統(tǒng)的易用性和穩(wěn)定性得到了大幅提升。因此,其用戶量開始逐年增加,已經(jīng)成為絕大部分Linux初學(xué)者和愛好者的首要選擇。然而,眾口難調(diào),在部分用戶群體看來,Deepin的許多部分仍舊需要完善或改進(jìn),比如缺少絕大多數(shù)Linux操作系統(tǒng)都支持的頂部狀態(tài)欄。為克服該問題,本文基于Deepin社區(qū)資源和自身使用Linux操作系統(tǒng)的經(jīng)驗(yàn),提出了一種基于dde-top-panel+tint2+plank的深度桌面優(yōu)化方法。
1 背景
Linux操作系統(tǒng)[1]是一種免費(fèi)使用和自由傳播的類UNIX操作系統(tǒng),其內(nèi)核由林納斯·本納第克特·托瓦茲于1991年10月5日首次發(fā)布,它主要受到Minix和Unix思想的啟發(fā),是一個(gè)基于POSIX的多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng)。Linux有上百種不同的發(fā)行版,如基于社區(qū)開發(fā)的debian、archlinux,和基于商業(yè)開發(fā)的Red Hat Enterprise Linux、SUSE、Oracle Linux等。得益于Linux系統(tǒng)可公開獲取和較強(qiáng)的可自定義的特性,使得其在服務(wù)器市場領(lǐng)先于windows操作系統(tǒng)[2],截止目前,Linux和Windows作為網(wǎng)站服務(wù)器的百分比情況如圖1.1所示,Linux與windows作為服務(wù)器操作系統(tǒng)的對比如表1.1所示[3]。
[圖片上傳失敗...(image-2b70ee-1648862843539)]
[圖片上傳失敗...(image-8fb1d1-1648862843540)]
windows,得益于其對用戶友好、操作簡單和穩(wěn)定的桌面環(huán)境,使得其幾乎占據(jù)了個(gè)人PC市場。即使一些Linux發(fā)行版開始重視用戶的桌面使用感受,重新研發(fā)普適性的桌面環(huán)境。但此時(shí)windows已經(jīng)逐步建立起良好的生態(tài)環(huán)境,使得Linux再難翻身。具體來說,Linux難以在個(gè)人PC市場搬回一局的主要理由如下[4]:
- Linux 發(fā)行版眾多,即使有許多優(yōu)秀的發(fā)行版,但用戶選擇范圍太多。當(dāng)然該點(diǎn)同樣時(shí)Linux的一個(gè)優(yōu)勢,但在市場方面,其實(shí)相互之間又是競爭者。
- 桌面Linux背后沒有科技巨頭,你在任何桌面Linux背后的技術(shù)中都找不到任何大的名字。當(dāng)然,許多科技巨頭都是Linux內(nèi)核本身的背后推手,但沒有一個(gè)是開發(fā)基于Linux的商業(yè)上可行的桌面操作系統(tǒng)。
- 在Linux上還沒有流行的游戲和付費(fèi)軟件(沒有健全的Linux生態(tài)環(huán)境),假設(shè)你是一個(gè)企業(yè)家或一個(gè)軟件開發(fā)公司的所有者。如果你想為任何平臺(tái)發(fā)布你的軟件,你首先會(huì)想到的是你會(huì)從這個(gè)平臺(tái)上產(chǎn)生多少收入。
- 硬件供應(yīng)商不支持Linux,這會(huì)增加廠商成本,但回報(bào)卻極低。
即使步履維艱,但許多企業(yè)卻從未停下腳步!武漢深之度科技有限公司[5]便是這樣一家堅(jiān)持信仰的公司,該公司發(fā)行的Deepin操作系統(tǒng)正通過自身的努力來克服上述提出的困難。隨著全球貿(mào)易戰(zhàn)[5]的打響,我國空前重視自主技術(shù)的研發(fā),國產(chǎn)化已然成為我們前進(jìn)的大方向。正是在這樣的大背景下,Deepin作為國產(chǎn)操作系統(tǒng)開始進(jìn)入了大眾視野。
筆者于2016年開始接觸Deepin操作系統(tǒng),見證Deepin的成長是我感到最幸福的一件事!Deepin的成長,可謂國產(chǎn)操作系統(tǒng)發(fā)展的一個(gè)縮影。Deepin真的很努力,從搜狗輸入法,到網(wǎng)易云音樂,再到聊天工具的平臺(tái)移植,無不彰顯自身強(qiáng)大的求生欲望,相較于一些國內(nèi)臭名昭著的知名企業(yè),Deepin真的很優(yōu)秀?,F(xiàn)在反觀,華為受到美國的制裁,而深度受到國內(nèi)的“制裁”,由于沒有市場,看不到投入收益,資本家們選擇性忽視這個(gè)優(yōu)秀的“小廠”,不給“小廠”做生態(tài)適配。即使迫于形式壓力,敷衍了事的軟件適配依舊讓用戶覺得惡心。
作為Deepin用戶,筆者堅(jiān)信,大家都希望看到Deepin輝煌的時(shí)刻!因此,為了Deepin能有更高的可自定義性,一些Deepin愛好者開發(fā)了許多優(yōu)秀的工具來幫助用戶完善用戶體驗(yàn)。其中,在2020年Deepin官方發(fā)起了一次關(guān)于用戶需求的投票[7],其中頂部狀態(tài)欄(topbar)票數(shù)最高,但最后此事也不了了之,再無音序。本人是很希望官方開發(fā)topbar的,許多優(yōu)秀的Linux桌面環(huán)境都有自己的topbar,從其他Linux發(fā)行版轉(zhuǎn)到Deepin畢竟需要適應(yīng)成本。此外,topbar也是unix類操作系統(tǒng)的一個(gè)特色,棄之實(shí)在可惜。本文也于2020年11月[8]建議官網(wǎng)支持縮小dde-dock占屏,便可以使用高效模式將dde-dock置于頂端充當(dāng)topbar功能,在配合plank達(dá)到目的。其實(shí)dde-dock已經(jīng)很優(yōu)秀了!后來實(shí)現(xiàn)難以忍受被dde-dock占屏太寬的問題,只能將其置于屏幕的左側(cè)。但依舊感覺很寬,但只是損失一定的寬度,還能接受。
后來嘗試了一些努力,希望可以改善該問題,其中polybar[9]不乏一個(gè)很好的解決方法,其本身就已經(jīng)支持大部分的Linux發(fā)行版,其中就包含debian。但Deepin就是安裝不上,苦于自身能力不行,只能換其它方法。tint2[10]是一個(gè)可高自定義的Linux Dock,安裝后也感覺可以接受,但其托盤位置不能停留輸入法、堅(jiān)果云等應(yīng)用的圖標(biāo),只能放棄。其外,還有l(wèi)xpanel[12]等其他工具,但都難以滿足本人的需求。直到2022年3月30日,找工具的時(shí)候發(fā)現(xiàn)dde-top-panel,該工具從許多方面都能滿足本人的需求。于是開始著手安裝和使用。
2 相關(guān)工作
這些工作都很優(yōu)秀,篇幅問題,優(yōu)秀緣由不再贅述。
dde-top-panel
dde-top-panel[11]
tint2
tint2[10]
plank
plank[12]
conky
conky[15]
3 具體步驟
為展示具體的步驟和效果,本文使用virtualbox[13]重新安裝了一個(gè)Deepin操作系統(tǒng),安裝后的界面如圖3.1所示。正值今天(2022.04.01)Deepin20.05正式發(fā)布。
[圖片上傳失敗...(image-1badc1-1648862843540)]
首先,個(gè)人建議使用dde-dock的高效模式,并把位置放置到左側(cè),調(diào)整dde-dock后的Deepin如圖3.2所示。
[圖片上傳失敗...(image-475085-1648862843540)]
3.1 安裝dde-top-panel
前往github dde-top-panel主頁,點(diǎn)擊右側(cè)的releases。
[圖片上傳失敗...(image-ccf24-1648862843540)]
下載dde-top-panel,點(diǎn)擊如圖3.4所示的位置。
[圖片上傳失敗...(image-92cfc3-1648862843540)]
下載完成之后點(diǎn)擊解壓,如圖3.5。
[圖片上傳失敗...(image-cdb0d4-1648862843540)]
安裝dde-top-panel
[圖片上傳失敗...(image-8b677f-1648862843540)]
運(yùn)行dde-top-panel
[圖片上傳失敗...(image-86e2cd-1648862843540)]
運(yùn)行后如圖3.8所示。
[圖片上傳失敗...(image-ac96dd-1648862843540)]
下面像dde-top-panel添加插件,打開文件夾,按下快捷鍵Ctrl + H,找到.local文件夾。
[圖片上傳失敗...(image-5d1f86-1648862843540)]
遞歸新建文件夾lib dde-top-panel plugins
[圖片上傳失敗...(image-9e57e6-1648862843540)]
最后進(jìn)入到文件夾plugins。
[圖片上傳失敗...(image-66aa97-1648862843540)]
然后再打開一個(gè)文件夾,依次點(diǎn)擊系統(tǒng)盤 usr lib dde-dock plugins,然后復(fù)制插件,如圖3.12所示。
[圖片上傳失敗...(image-b3a430-1648862843540)]
將他們復(fù)制到右邊的文件里面,即.local lib dde-top-panel plugins下面。
[圖片上傳失敗...(image-766bbd-1648862843540)]
然后右鍵頂部狀態(tài)欄,選擇重啟panel
[圖片上傳失敗...(image-6cffdf-1648862843540)]
此時(shí)插件已經(jīng)出現(xiàn)在頂部狀態(tài)欄的最右側(cè)。
然后來到插件dde-istate-menus[14]網(wǎng)站.
[圖片上傳失敗...(image-dd1a45-1648862843540)]
[圖片上傳失敗...(image-a76956-1648862843540)]
下載插件并將其放到dde-top-panel插件路徑下,即.local lib dde-top-panel plugins,在重啟一次panel。
然后打開菜單,找到dde-top-panel,右鍵設(shè)置開機(jī)自啟動(dòng)。
[圖片上傳失敗...(image-773696-1648862843540)]
這里新添的istate-menu插件沒有生效 ,這里不去深究。繼續(xù)后面的工作!
3.2 安裝tint2
打開終端,輸入sudo apt install tint2,打開終端可通過在桌面右鍵,點(diǎn)擊在終端打開。也可以按下快捷鍵ctrl+alt+t。
[圖片上傳失敗...(image-4ccdd7-1648862843540)]
點(diǎn)擊菜單,打開tint2。
[圖片上傳失敗...(image-4295d2-1648862843540)]
編輯tint2配置文件,終端輸入deepin-editor .config/tint2/tint2rc
[圖片上傳失敗...(image-30c6f4-1648862843540)]
然后使用下面的配置文件替換打開的文本內(nèi)容。
#---- Generated by tint2conf 8ff7 ----
# See https://gitlab.com/o9000/tint2/wikis/Configure for
# full documentation of the configuration options.
#-------------------------------------
# Gradients
#-------------------------------------
# Backgrounds
# Background 1: Battery, Clock, Systray
rounded = 0
border_width = 1
border_sides = TBLR
border_content_tint_weight = 0
background_content_tint_weight = 0
background_color = #181818 85
border_color = #303030 85
background_color_hover = #181818 85
border_color_hover = #303030 85
background_color_pressed = #303030 85
border_color_pressed = #606060 85
# Background 2:
rounded = 0
border_width = 1
border_sides = TBLR
border_content_tint_weight = 0
background_content_tint_weight = 0
background_color = #404040 85
border_color = #808080 85
background_color_hover = #404040 85
border_color_hover = #808080 85
background_color_pressed = #404040 85
border_color_pressed = #808080 85
# Background 3: Launcher
rounded = 0
border_width = 1
border_sides = TBLR
border_content_tint_weight = 0
background_content_tint_weight = 0
background_color = #cfcfcf 50
border_color = #e7e7e7 50
background_color_hover = #cfcfcf 50
border_color_hover = #e7e7e7 50
background_color_pressed = #cfcfcf 50
border_color_pressed = #e7e7e7 50
# Background 4: Inactive taskbar
rounded = 0
border_width = 1
border_sides = TBLR
border_content_tint_weight = 0
background_content_tint_weight = 0
background_color = #cfcfcf 80
border_color = #e7e7e7 80
background_color_hover = #cfcfcf 90
border_color_hover = #e7e7e7 90
background_color_pressed = #cfcfcf 50
border_color_pressed = #e7e7e7 50
#-------------------------------------
# Panel
panel_items = :T
panel_size = 100% 24
panel_margin = 0 0
panel_padding = 0 0 2
panel_background_id = 0
wm_menu = 1
panel_dock = 0
panel_position = top left horizontal
panel_layer = top
panel_monitor = 1
panel_shrink = 1
autohide = 0
autohide_show_timeout = 0.3
autohide_hide_timeout = 2
autohide_height = 2
strut_policy = follow_size
panel_window_name = tint2
disable_transparency = 0
mouse_effects = 1
font_shadow = 0
mouse_hover_icon_asb = 100 0 10
mouse_pressed_icon_asb = 100 0 25
scale_relative_to_dpi = 0
scale_relative_to_screen_height = 0
#-------------------------------------
# Taskbar
taskbar_mode = single_desktop
taskbar_hide_if_empty = 0
taskbar_padding = 0 0 1
taskbar_background_id = 4
taskbar_active_background_id = 0
taskbar_name = 0
taskbar_hide_inactive_tasks = 0
taskbar_hide_different_monitor = 0
taskbar_hide_different_desktop = 0
taskbar_always_show_all_desktop_tasks = 0
taskbar_name_padding = 0 0
taskbar_name_background_id = 0
taskbar_name_active_background_id = 0
taskbar_name_font = Liberation Sans Bold 10
taskbar_name_font_color = #000000 100
taskbar_name_active_font_color = #000000 100
taskbar_distribute_size = 0
taskbar_sort_order = none
task_align = left
#-------------------------------------
# Task
task_text = 0
task_icon = 1
task_centered = 0
urgent_nb_of_blink = 65535
task_maximum_size = 34 34
task_padding = 0 0 2
task_font = Liberation Sans 10
task_tooltip = 0
task_thumbnail = 0
task_thumbnail_size = 210
task_font_color = #e7e7e7 100
task_background_id = 0
mouse_left = toggle_iconify
mouse_middle = none
mouse_right = none
mouse_scroll_up = none
mouse_scroll_down = none
#-------------------------------------
# System tray (notification area)
systray_padding = 5 5 1
systray_background_id = 1
systray_sort = ascending
systray_icon_size = 24
systray_icon_asb = 0 0 0
systray_monitor = 1
systray_name_filter =
#-------------------------------------
# Launcher
launcher_padding = 15 0 1
launcher_background_id = 3
launcher_icon_background_id = 0
launcher_icon_size = 35
launcher_icon_asb = 100 0 0
launcher_icon_theme_override = 0
startup_notifications = 1
launcher_tooltip = 1
launcher_item_app = /usr/share/applications/dde-control-center.desktop
#-------------------------------------
# Clock
time1_format = %m-%d
time2_format = %H:%M
time1_font = Liberation Sans 8
time1_timezone =
time2_timezone =
time2_font = Liberation Sans Bold 10
clock_font_color = #e7e7e7 80
clock_padding = 1 1
clock_background_id = 1
clock_tooltip = %Y-%m-%d %H:%M:%S
clock_tooltip_timezone =
clock_lclick_command = gsimplecal
clock_rclick_command = gsimplecal
clock_mclick_command = gsimplecal
clock_uwheel_command =
clock_dwheel_command =
#-------------------------------------
# Battery
battery_tooltip = 1
battery_low_status = 10
battery_low_cmd = notify-send -u critical "Battery low"
battery_full_cmd =
bat1_font = Liberation Sans 10
bat2_font = Liberation Sans 10
battery_font_color = #e7e7e7 80
bat1_format =
bat2_format =
battery_padding = 1 1
battery_background_id = 1
battery_hide = 101
battery_lclick_command =
battery_rclick_command =
battery_mclick_command =
battery_uwheel_command =
battery_dwheel_command =
ac_connected_cmd = notify-send -u normal "AC connected"
ac_disconnected_cmd = notify-send -u normal "AC disconnected"
#-------------------------------------
# Separator 1
separator = new
separator_background_id = 0
separator_color = #777777 0
separator_style = empty
separator_size = 195
separator_padding = 1 0
#-------------------------------------
# Tooltip
tooltip_show_timeout = 0
tooltip_hide_timeout = 0
tooltip_padding = 3 3
tooltip_background_id = 0
tooltip_font_color = #e7e7e7 80
tooltip_font = Liberation Sans 10
然后終端輸入pkill tint2 ,再重新運(yùn)行tint2后界面如圖3.21所示。
[圖片上傳失敗...(image-f1bb53-1648862843540)]
如圖3.22 所示,tint2可以讓打開的應(yīng)用停留在頂部的,設(shè)置透明后就以假亂真,就像dde-top-panel讓應(yīng)用停留一樣。
下面切換dde-dock的位置到下方,在重啟dde-top-panel
[圖片上傳失敗...(image-12cc69-1648862843540)]
設(shè)置讓菜單全屏顯示。
[圖片上傳失敗...(image-7b3f63-1648862843540)]
然后執(zhí)行指令sudo chmod -x /usr/bin/dde-dock和pkill dde-dock,如圖3.25。
[圖片上傳失敗...(image-4ecd48-1648862843540)]
最后按下super快捷鍵,打開菜單欄,設(shè)置tint2開機(jī)自啟動(dòng)。更多tint2設(shè)置可打開面板管理器,可自行摸索,本人也花了很久才摸索出現(xiàn)在的配置文件。
3.3 安裝plank
打開終端,運(yùn)行sudo apt install plank
[圖片上傳失敗...(image-fb27e3-1648862843540)]
按下super鍵,運(yùn)行plank。
[圖片上傳失敗...(image-175d2f-1648862843540)]
打開網(wǎng)址,下載plank主題。
[圖片上傳失敗...(image-4bbdab-1648862843540)]
終端輸入dde-file-manager Downloads
[圖片上傳失敗...(image-2e294a-1648862843540)]
解壓數(shù)字2得到剛下載的plank 主題,右鍵位于plank上的圖標(biāo),將文件夾固定在plank上。
然后點(diǎn)擊數(shù)字1處的+號,在新的終端窗口輸入dde-file-manager ~/.local/share/plank/themes
然后將所有主題復(fù)制到新打開的文件夾下。
[圖片上傳失敗...(image-90f651-1648862843540)]
然后終端輸入plank --preferences,在主題選項(xiàng)選擇capos
[圖片上傳失敗...(image-1d407d-1648862843540)]
最后桌面如下:
[圖片上傳失敗...(image-93a682-1648862843540)]
將圖標(biāo)固定到plank,按下super,將應(yīng)用發(fā)送到桌面,
[圖片上傳失敗...(image-891772-1648862843540)]
將桌面圖標(biāo)剪切到目錄Videos下,再拖到plank進(jìn)行固定即可。圖標(biāo)不能刪除,否則plank上圖標(biāo)也會(huì)消失。
[圖片上傳失敗...(image-86afe3-1648862843540)]
[圖片上傳失敗...(image-37c40c-1648862843540)]
最后設(shè)置plank開機(jī)自啟動(dòng)。
3.4 安裝conky
終端輸入sudo apt install conky
[圖片上傳失敗...(image-f62c0e-1648862843541)]
終端輸入deepin-editor .conkyrc,填入下面的配置文件
conky.config = {
-------------------------------------
-- Generic Settings
-------------------------------------
background=true,
update_interval=1,
double_buffer=true,
no_buffers=true,
imlib_cache_size=0,
draw_shades=false,
draw_outline=false,
draw_borders=false,
-------------------------------------
-- Window Specifications
-------------------------------------
gap_x=0,
gap_y=140,
minimum_height=350,
minimum_width=2200,
own_window=true,
own_window_type="dock",
own_window_transparent=true,
own_window_hints="undecorated,below,sticky,skip_taskbar,skip_pager",
own_window_argb_visual=true,
-------------------------------------
-- Text Settings
-------------------------------------
use_xft=true,
xftalpha=1,
font="Microsoft Yahei:size=20",
text_buffer_size=256,
override_utf8_locale=true,
-------------------------------------
-- Color Scheme
-------------------------------------
default_color='FFFFFF',
color0='EAEAEA', -- clock
color1='EAEAEA', -- date
-------------------------------------
-- Locale (e.g. "cn_zh.UTF-8")
-- Leave empty for default
-------------------------------------
}
conky.text = [[
${font Microsoft Yahei:weight=light:size=16}${color0}\
${color0}${font Quicksand Light - U:pixelsize=86}\
${voffset -20}${offset 10}\
${alignc}${time %H: %M: %S}\
${font Microsoft Yahei}${color}
\
\
\
\
${font Microsoft Yahei:weight=light:size=20}${color1}\
${voffset 30}\
${alignc}${execi 300 LANG=${template9} LC_TIME=${template9} date +"%A, %B %d, %Y"}\
${font}${color}
\
\
\
\
${font Microsoft Yahei:weight=light:size=30}${color1}\
${voffset 20}\
${alignc}${time Hello, Beams}\
${font}${color}
]]
[圖片上傳失敗...(image-293e0d-1648862843541)]
設(shè)置conky開機(jī)自啟動(dòng),終端輸入cp .config/autostart/tint2.desktop .config/autostart/conky.desktop和deepin-editor .config/autostart/conky.desktop,然后使用下面的內(nèi)容替換打開的文檔。
[Desktop Entry]
Categories=Utility;
Comment=Color temperature adjustment tool
Exec=conky
Name=conky.desktop
StartupNotify=true
Terminal=false
Type=Application
Version=1.0
X-Deepin-Vendor=user-custom
X-GNOME-Autostart-enabled=true
[圖片上傳失敗...(image-ab6d8c-1648862843541)]
完成上面所有步驟,在切換一張壁紙后,Deepin桌面如下圖所示。
[圖片上傳失敗...(image-f586b0-1648862843541)]
4 總結(jié)
前人種樹,后人乘涼,我不過是希望多一點(diǎn)人陪我一起乘涼。上面所有配置文件都是可以根據(jù)自身需求可以更改的,相關(guān)主題或配置文件均可在互聯(lián)網(wǎng)上找到,但是此篇文章的配置文件都是本人調(diào)整出來的。如果你也喜歡Deepin,如果你也看好這個(gè)操作系統(tǒng),最好的支持就是你的堅(jiān)持使用!最后附上本人的桌面圖片,它不美,但我甚是喜歡!
[圖片上傳失敗...(image-70d9c6-1648862843541)]
5 參考文獻(xiàn)
[1] https://baike.baidu.com/item/Linux/27050?fromtitle=Linux%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F&fromid=850887&fr=aladdin
[2] https://w3techs.com/technologies/comparison/os-linux,os-windows
[3] https://www.ionos.com/digitalguide/server/know-how/linux-vs-windows-the-big-server-check/
[4] https://medium.com/the-blog-of-ehsan-nazim/5-reasons-behind-linuxs-unpopularity-on-desktop-c87558fe2f7c
[5] https://www.deepin.org/zh/
[6] https://baijiahao.baidu.com/s?id=1602036758534237461&wfr=spider&for=pc
[7] https://bbs.deepin.org/post/204966
[8] https://bbs.deepin.org/post/205640
[9] https://polybar.github.io/
[10] https://gitlab.com/o9000/tint2
[11] https://bbs.deepin.org/post/195128
[12] https://www.linuxuprising.com/2019/12/a-guide-to-using-plank-dock-on-linux.html
[13] https://www.virtualbox.org/
[14] https://github.com/SeptemberHX/dde-istate-menus
[15] https://wiki.archlinux.org/title/Conky_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)