[problem help] 怎么命令怎么设置以下几项 Resolved
Tofloor
poster avatar
深蓝
deepin
2023-10-17 06:23
Author

怎么用命令取消任务栏的应用图标?


image.png

归档管理器,用命令怎么设置以下两项

image.png

记事本-怎么命令怎么设置以下几项


image.png

Reply Favorite View the author
All Replies
1 / 2
To page
三好市民
deepin
2023-10-17 07:07
#1

能够用鼠标点两下解决的事,我从未考虑过输入长长的命令来实现

Reply View the author
深蓝
deepin
2023-10-17 07:27
#2
三好市民

能够用鼠标点两下解决的事,我从未考虑过输入长长的命令来实现

写自动化脚本初始化系统用

Reply View the author
hotime
deepin
2023-10-17 16:00
#3
深蓝

写自动化脚本初始化系统用

确实,如果搞清楚了大部分自己使用的应用的配置文件位置,直接写成脚本以后重装系统时配置贼啦快~

Reply View the author
dgmenghuan
deepin
2023-10-17 16:28
#4

不要用windows的思路去看待linux

Reply View the author
hotime
deepin
2023-10-17 17:22
#5

找到了,归档管理器和文本编辑器在23beta2中都是玲珑应用,所以配置文件是需要进入到相应的玲珑环境中的,以归档管理器为例:

# 进入归档管理器的玲珑应用环境
ll-cli run org.deepin.compressor --exec /bin/bash

# 覆盖写入归档管理器的配置项
cat << EOF > ~/.config/deepin/deepin-compressor/deepin-compressor.conf
[base.decompress.create_folder]
value=false

[base.decompress.open_folder]
value=true
EOF

# 退出归档管理器的玲珑应用环境
exit

注意,以上是手动操作的,并非实际脚本。(制作成脚本时,还需要进行其它修改)


文本编辑器同理:

# 进入文本编辑器的玲珑应用环境
ll-cli run org.deepin.editor --exec /bin/bash

# 追加写入文本编辑器的配置项
cat << EOF >> ~/.config/deepin/deepin-editor/config.conf

[base.font.showblankcharacter]
value=true

[base.font.showbookmark]
value=true
EOF

# 退出文本编辑器的玲珑应用环境
exit

注意cat << EOF 之后 一个箭头>是覆盖写入,两个箭头>>是追加写入。具体哪个,由自己任意决定。


关于第一个问题,它的配置文件在这里:/usr/share/dsg/configs/dde-dock/com.deepin.dde.dock.json

具体是这一段配置(大致在这个文件的倒数第二项配置):

"Dock_Quick_Plugins": {
            "value": ["power", "network", "shutdown", "show-desktop", "multitasking"],
			"serial": 0,
			"flags": [],
			"name": "Quick Plugins show on dock",
			"name[zh_CN]": "显示在任务栏上的快捷插件",
			"description": "记录哪些插件的图标在任务栏启动的时候显示在任务栏上",
			"permissions": "readwrite",
			"visibility": "private"
		},

你想要去掉的就是这里的"show-desktop", "multitasking"这两项。

Reply View the author
深蓝
deepin
2023-10-18 06:52
#6
hotime

找到了,归档管理器和文本编辑器在23beta2中都是玲珑应用,所以配置文件是需要进入到相应的玲珑环境中的,以归档管理器为例:

# 进入归档管理器的玲珑应用环境
ll-cli run org.deepin.compressor --exec /bin/bash

# 覆盖写入归档管理器的配置项
cat << EOF > ~/.config/deepin/deepin-compressor/deepin-compressor.conf
[base.decompress.create_folder]
value=false

[base.decompress.open_folder]
value=true
EOF

# 退出归档管理器的玲珑应用环境
exit

注意,以上是手动操作的,并非实际脚本。(制作成脚本时,还需要进行其它修改)


文本编辑器同理:

# 进入文本编辑器的玲珑应用环境
ll-cli run org.deepin.editor --exec /bin/bash

# 追加写入文本编辑器的配置项
cat << EOF >> ~/.config/deepin/deepin-editor/config.conf

[base.font.showblankcharacter]
value=true

[base.font.showbookmark]
value=true
EOF

# 退出文本编辑器的玲珑应用环境
exit

注意cat << EOF 之后 一个箭头>是覆盖写入,两个箭头>>是追加写入。具体哪个,由自己任意决定。


关于第一个问题,它的配置文件在这里:/usr/share/dsg/configs/dde-dock/com.deepin.dde.dock.json

具体是这一段配置(大致在这个文件的倒数第二项配置):

"Dock_Quick_Plugins": {
            "value": ["power", "network", "shutdown", "show-desktop", "multitasking"],
			"serial": 0,
			"flags": [],
			"name": "Quick Plugins show on dock",
			"name[zh_CN]": "显示在任务栏上的快捷插件",
			"description": "记录哪些插件的图标在任务栏启动的时候显示在任务栏上",
			"permissions": "readwrite",
			"visibility": "private"
		},

你想要去掉的就是这里的"show-desktop", "multitasking"这两项。

大神那,谢谢大佬😄

Reply View the author
深蓝
deepin
2023-10-18 06:54
#7
hotime

确实,如果搞清楚了大部分自己使用的应用的配置文件位置,直接写成脚本以后重装系统时配置贼啦快~

我的环境比较复杂,每次重装系统都费大半天时间,能自动配置的,全写在脚本里自动初始化

Reply View the author
hotime
deepin
2023-10-18 08:48
#8
深蓝

我的环境比较复杂,每次重装系统都费大半天时间,能自动配置的,全写在脚本里自动初始化

还是提醒一下,上面那个暂时还不算脚本,需要进一步处理,比如怎么让脚本在进入玲珑环境后执行修改配置的那段指令,我暂时还没找到办法。如果你找到了,记得也告诉我哈让我也了解了解~

Reply View the author
hotime
deepin
2023-10-19 02:22
#9

搞明白了,脚本中这样写就可以直接改玲珑容器里的配置文件了:

#!/bin/bash

echo "覆盖玲珑应用org.deepin.compressor的配置项"
ll-cli run org.deepin.compressor --exec "/bin/bash -c 'cat << EOF > ~/.config/deepin/deepin-compressor/deepin-compressor.conf
[base.decompress.create_folder]
value=false

[base.decompress.open_folder]
value=true
EOF'"
echo "写入完成..."


echo "追加玲珑应用org.deepin.editor的配置项"
ll-cli run org.deepin.editor --exec "/bin/bash -c 'cat << EOF >> ~/.config/deepin/deepin-editor/config.conf

[base.font.showblankcharacter]
value=true

[base.font.showbookmark]
value=true
EOF'"
echo "写入完成..."
Reply View the author
深蓝
deepin
2023-10-19 06:03
#10
hotime

搞明白了,脚本中这样写就可以直接改玲珑容器里的配置文件了:

#!/bin/bash

echo "覆盖玲珑应用org.deepin.compressor的配置项"
ll-cli run org.deepin.compressor --exec "/bin/bash -c 'cat << EOF > ~/.config/deepin/deepin-compressor/deepin-compressor.conf
[base.decompress.create_folder]
value=false

[base.decompress.open_folder]
value=true
EOF'"
echo "写入完成..."


echo "追加玲珑应用org.deepin.editor的配置项"
ll-cli run org.deepin.editor --exec "/bin/bash -c 'cat << EOF >> ~/.config/deepin/deepin-editor/config.conf

[base.font.showblankcharacter]
value=true

[base.font.showbookmark]
value=true
EOF'"
echo "写入完成..."

谢谢大佬, 你的脚本更简洁👍 👍

我是这么写的,

第一种方式:

ll-cli run org.deepin.compressor --exec "/mnt/test.sh"

这里的配置文件路径写成绝对路径, 相对路径~/无效,

/mnt/test.sh文件内容:

#!/bin/bash
# org.deepin.editor的配置项
deepinCompressorConfig="/home/user/.config/deepin/deepin-compressor/deepin-compressor.conf"

cat << EOF > ${deepinCompressorConfig}
[base.decompress.create_folder]
value=false

[base.decompress.open_folder]
value=true
EOF

第二种方式:

直接覆盖配置文件

ll-cli run org.deepin.compressor --exec  "cp /mnt/test ~/.config/deepin/deepin-compressor/deepin-compressor.conf"

第三种方式:
如果配置项存在的话, 用sed命令替换

ll-cli run org.deepin.compressor --exec  "sed -i -e '/base.decompress.create_folder/{n;s/^value=.*/value=false/;}'  ~/.config/deepin/deepin-compressor/deepin-compressor.conf"
Reply View the author
hotime
deepin
2023-10-19 06:14
#11
深蓝

谢谢大佬, 你的脚本更简洁👍 👍

我是这么写的,

第一种方式:

ll-cli run org.deepin.compressor --exec "/mnt/test.sh"

这里的配置文件路径写成绝对路径, 相对路径~/无效,

/mnt/test.sh文件内容:

#!/bin/bash
# org.deepin.editor的配置项
deepinCompressorConfig="/home/user/.config/deepin/deepin-compressor/deepin-compressor.conf"

cat << EOF > ${deepinCompressorConfig}
[base.decompress.create_folder]
value=false

[base.decompress.open_folder]
value=true
EOF

第二种方式:

直接覆盖配置文件

ll-cli run org.deepin.compressor --exec  "cp /mnt/test ~/.config/deepin/deepin-compressor/deepin-compressor.conf"

第三种方式:
如果配置项存在的话, 用sed命令替换

ll-cli run org.deepin.compressor --exec  "sed -i -e '/base.decompress.create_folder/{n;s/^value=.*/value=false/;}'  ~/.config/deepin/deepin-compressor/deepin-compressor.conf"

第三种收藏了收藏了~

like

Reply View the author
深蓝
deepin
2023-10-19 06:23
#12
hotime

第三种收藏了收藏了~

like

joy

Reply View the author
hotime
deepin
2023-10-22 00:06
#13

哎呀,尬住了😂 ,刚留意到不用进玲珑修改,在当前用户目录就可以直接修改了,就是那个~/.linglong/目录。

#!/bin/bash

echo "覆盖玲珑应用org.deepin.compressor的配置项"
cat << EOF > ~/.linglong/org.deepin.compressor/config/deepin/deepin-compressor/deepin-compressor.conf
[base.decompress.create_folder]
value=false

[base.decompress.open_folder]
value=true
EOF
echo "写入完成..."


echo "追加玲珑应用org.deepin.editor的配置项"
cat << EOF >> ~/.linglong/org.deepin.editor/config/deepin/deepin-editor/config.conf

[base.font.showblankcharacter]
value=true

[base.font.showbookmark]
value=true
EOF
echo "写入完成..."
Reply View the author
深蓝
deepin
2023-10-23 07:29
#14
hotime

哎呀,尬住了😂 ,刚留意到不用进玲珑修改,在当前用户目录就可以直接修改了,就是那个~/.linglong/目录。

#!/bin/bash

echo "覆盖玲珑应用org.deepin.compressor的配置项"
cat << EOF > ~/.linglong/org.deepin.compressor/config/deepin/deepin-compressor/deepin-compressor.conf
[base.decompress.create_folder]
value=false

[base.decompress.open_folder]
value=true
EOF
echo "写入完成..."


echo "追加玲珑应用org.deepin.editor的配置项"
cat << EOF >> ~/.linglong/org.deepin.editor/config/deepin/deepin-editor/config.conf

[base.font.showblankcharacter]
value=true

[base.font.showbookmark]
value=true
EOF
echo "写入完成..."

太棒了,能直接修改太好了,你是怎么找到的,玲珑文档上没看到说明

Reply View the author
hotime
deepin
2023-10-23 15:43
#15
深蓝

太棒了,能直接修改太好了,你是怎么找到的,玲珑文档上没看到说明

昨天写脚本时在主目录里找各种配置文件,突然留意到.lingling,进去一看就发现了。joy

Reply View the author
深蓝
deepin
2023-10-23 20:36
#16
hotime

昨天写脚本时在主目录里找各种配置文件,突然留意到.lingling,进去一看就发现了。joy

优秀yeah

Reply View the author
深蓝
deepin
2023-10-24 08:55
#17

@hotime

大佬,问下,系统代理中的SOCKS地址和端口,怎么通过命令设置?
image.png

Reply View the author
hotime
deepin
2023-10-24 19:09
#18
深蓝

@hotime

大佬,问下,系统代理中的SOCKS地址和端口,怎么通过命令设置?
image.png

控制中心的还真不知道😂 你研究研究

Reply View the author
深蓝
deepin
2023-10-25 05:14
#19

@hotime 大佬能分享下你的脚本吗? 学习学习

Reply View the author
hotime
deepin
2023-10-25 07:56
#20
深蓝

@hotime 大佬能分享下你的脚本吗? 学习学习

我的脚本一开始是尽量把各种配置文件都写到脚本里,后来发现内容太多看着不方便,就把配置文件都尽量抠出来做单独的文件,放在各自单独的文件夹里,只留下那种简单替换内容的一些留在脚本里,大部分配置文件都用cp或者async同步。

脚本目录是这个样子:

图片.png

脚本 start.sh内容是这样的(需要以当前用户使用sudo执行):

#!/bin/bash

echo "#   ---------------------------------   #"
echo "#   自动化脚本,用于进行系统安装后的特殊配置   #"
echo "#   ---------------------------------   #"

#######################################
#   :::::: V A R I A B L E S ::::::   #
#######################################

user=$(who | awk '{print $1}' | sort -u)
host=$HOSTNAME
homedir="/home/$user"
curdir=$(pwd)
ping_test_url="community-packages.deepin.com"
git_name="hotime"
git_email="[email protected]"
github_ssh_url="https://github.com/settings/ssh/new"

deepin_unstable_source="deepin-unstable-source"
sublime_text="com.sublimetext.sublime-text-4"
firefox="com.mozilla.firefox-zh"

pkg_basic=("git" "apt-file" "dcc-insider-plugin" "uos-recovery")
pkg_special=("steam++")
pkg_apps=($sublime_text $firefox)
pkg_zh_dictionary=("fcitx5-pinyin-sougou" "fcitx5-pinyin-zhwiki-data")


#######################################
#   :::::: F U N C T I O N S ::::::   #
#######################################

function run_all_sets() {
    check_curdir
    check_network_connection
    correct_permission_for_source_dir_and_files
    
    change_punctuation_for_fcitx5 # 修改fcitx5标点符号映射,以支持【】符号
    add_history_search_backward_support_for_inputrc # 支持在终端中使用PgUp、PgDn根据当前输入快速补全历史命令

    join_unstable_source_if_not_joined # 加入内测源
    apt update # 更新apt可用软件包列表
    install_all_packages # 安装常用软件包
    apt-file update # 从apt源更新内容文件,以便使用apt-file查询功能

    import_root_sets # 导入root配置
    import_user_sets # 导入用户配置

    #add_permission_for_watt_toolkit # 为watt_toolkit添加权限
    adjust_grub_theme_deepin # 根据最佳分辨率更新deepin的grub主题

    generate_ssh_key_for_github
    
}

function echo_start_message() {
    echo "开始执行配置脚本..."
}
function split_message() {
    echo "执行完成..."
    echo "-----------------------------------------------------------------------"
}
function echo_end_message() {
    echo "脚本执行成功,请重启计算机"
}

function check_curdir() {
    if [[ $curdir != $homedir/* ]]; then
        echo "警告:目录异常!请将此脚本目录复制到用户目录中,重新执行脚本"
        echo "脚本已退出..."
        exit 1
    fi
    echo "脚本目录位置正常..."
    split_message
}

function check_network_connection() {
    ping -c 3 $ping_test_url > /dev/null 2>&1
    if [[ $? -ne 0 ]]; then
        echo "警告:网络异常!请尝试连接网络,重新执行脚本"
        echo "脚本已退出..."
        exit 1
    fi
    echo "网络连接正常..."
    split_message
}

function correct_permission_for_source_dir_and_files() {
    echo "准备修改当前目录下各配置文件及目录的权限"
    find . -type d -exec chmod 755 {} \;
    find . -type f -exec chmod 644 {} \;
    chmod +x my-scripts/*
    chmod +x start.sh
    echo "当前目录下的各配置文件及目录权限已成功修改..."
    split_message
}

function import_root_sets() {
    echo "准备导入root配置"
    if [[ $host == 'Miix4' ]]; then
        import 0 "Miix4-configs" "/usr/share/X11/xorg.conf.d"
    fi
    import 0 "etc_vim" "/etc/vim"
    import 0 "firefox-zh_files_distribution" "/opt/apps/com.mozilla.firefox-zh/files/distribution"
    #import 0 "my-scripts" "/usr/local/bin" # 复制常用脚本
}

function import_user_sets() {
    echo "准备导入用户配置"
    import 1 "homedir" "${homedir}"
    import 1 "homedir_config_deepin" "${homedir}/.config/deepin"
    import 1 "homedir_config_deepin_deepin-terminal" "${homedir}/.config/deepin/deepin-terminal"
    import 1 "linglong_deepin-compressor" "${homedir}/.linglong/org.deepin.compressor/config/deepin/deepin-compressor"
    import 1 "homedir_fonts" "${homedir}/.fonts"
    import 1 "homedir_config_fcitx5" "${homedir}/.config/fcitx5"
    import 1 "homedir_local_share_fcitx5_themes" "${homedir}/.local/share/fcitx5/themes"
    import 1 "homedir_config_sublime-text" "${homedir}/.config/sublime-text"
}

function import() {
    local flag=$1 # 0表示root配置,1表示用户配置,两者需要的用户权限不同
    local src_dir=$2
    local dest_dir=$3

    if [[ $flag -ne 0 && $flag -ne 1 ]]; then
        echo "错误:第一个参数错误,应为0或1"
        return 1
    fi

    if [[ ! -d $src_dir ]]; then
        echo "警告:在当前目录中未找到:$src_dir,准备跳过..."
        return 1 
    fi

    if [[ ! -d $dest_dir ]]; then
        echo "提示:目标目录:$dest_dir 不存在,准备创建..."
        if [[ $flag -eq 1 ]]; then
            sudo -u $user mkdir -p $dest_dir
        else
            mkdir -p $dest_dir
        fi
    fi

    echo "准备复制或同步:$src_dir"
    if [[ $flag -eq 1 ]]; then
        rsync -aXS --include='.*' $src_dir/ $dest_dir # 因为cp命令复制.开头的隐藏文件会比较麻烦,所以这里使用rsync命令进行同步
    else
        cp -R $src_dir/* $dest_dir
    fi
    split_message
}

function join_unstable_source_if_not_joined() {
    install_apt_packages $deepin_unstable_source
}

function install_all_packages() {
    install_apt_packages "${pkg_basic[@]}" # 安装基础软件包
    #install_apt_packages "${pkg_special[@]}" # 安装特殊工具
    install_apt_packages "${pkg_apps[@]}" # 安装常用应用
    install_apt_packages "${pkg_zh_dictionary[@]}" # 安装中文词库
}

function install_apt_packages() {
    local packages=("$@")
    for package in "${packages[@]}"; do
        if ! dpkg -s $package >/dev/null 2>&1; then
            echo "准备安装:${package}"
            apt install -y --allow-unauthenticated $package
        else
            echo "${package} 已安装,准备跳过..."
        fi
    done
    split_message
}

# 未来的fcitx5版本中,punctuation文件内容会有所不同,此函数可能废弃。
function change_punctuation_for_fcitx5() {
    local config_file="/usr/share/fcitx5/punctuation/punc.mb.zh_CN"
    echo "准备修改配置文件:$config_file"
    echo "以支持方头括号【 】"
    sed -i -e "s/^\[ .*/[ 【 】/" $config_file
    sed -i -e "s/^\] .*/] 「 」/" $config_file
    split_message
}

function add_history_search_backward_support_for_inputrc() {
    local config_file="/etc/inputrc"
    local file_content=$(cat "$config_file")
    echo "准备取消在终端中使用PgUp、PgDn根据当前输入快速补全历史命令配置项的注释:"
    sed -i 's/^# \"\\e\[5~\": history-search-backward/\"\\e\[5~\": history-search-backward/' $config_file
    sed -i 's/^# \"\\e\[6~\": history-search-forward/\"\\e\[6~\": history-search-forward/' $config_file
    split_message
}

function add_permission_for_watt_toolkit() {
    # TODO 提供权限
    chmod a+w /etc/hosts
    split_message
}

function adjust_grub_theme_deepin() {
    local default_grub='/etc/default/grub'
    if [[ $(df -h /boot | grep '/boot' | awk '{print $5}' | cut -d'%' -f1) -gt 90 ]]; then
        echo "警告:/boot 分区可用空间不足10%,准备跳过此步骤..."
        return 1
    fi

    local default_grub_resolution=$(cat $default_grub | grep 'GRUB_GFXMODE' | cut -d'=' -f2)
    local best_resolution=$(xrandr | grep -o '[0-9]\{4\}x[0-9]\{3,4\}' | awk 'NR==1')

    if [[ $default_grub_resolution == $best_resolution ]]; then
        echo "默认grub分辨率已是最佳,无需更新grub,准备跳过此步骤..."
        return 1
    fi

    echo "当前默认grub分辨率为:$default_grub_resolution, 最佳分辨率为:${best_resolution},准备修改默认grub分辨率为最佳分辨率"
    sed -i "s/GRUB_GFXMODE=.*/GRUB_GFXMODE=${best_resolution}/" $default_grub
    echo "准备更新grub"
    update-grub || true
    echo "准备更新grub主题:deepin"
    /usr/lib/deepin-api/adjust-grub-theme || true
    split_message
}

function generate_ssh_key_for_github() {
    local dest_dir="${homedir}/.ssh"
    local private_key_name="github_${user}_${host}_deepin_ed25519"
    local public_key_name="${private_key_name}.pub"
    sudo -u ${user} mkdir -p $dest_dir
    sudo -u ${user} ssh-keygen -t ed25519 -f ${dest_dir}/${private_key_name} -C ${git_email}
    sudo -u $user git config --global user.name ${git_name}
    sudo -u $user git config --global user.email ${git_email}
    echo "Title:"
    echo ${private_key_name}
    echo "Key:"
    echo "$(cat $dest_dir/${public_key_name})"
    echo "请访问链接:${github_ssh_url},将SSH Key添加至github"
    split_message
}

function echo_variabled_tips() {
    echo "准备展示现有信息:"
    echo "当前用户:$user"
    echo "主机名:$host"
    echo "当前用户目录:$homedir"
    echo "当前脚本目录:$curdir"
    echo "网络连接测试链接:$ping_test_url"
    echo "git_name:$git_name"
    echo "git_email:$git_email"
    echo "内测源:$deepin_unstable_source"
    split_message
}

#############################
#   :::::: M A I N ::::::   #
#############################

echo_start_message # 开始提示
echo_variabled_tips # 展示现有信息
run_all_sets # 执行脚本
echo_end_message # 结束提示

还不太完善,比如控制中心里配置的各种东西都没弄,比如选择屏幕缩放、主题、fcitx5双拼之类的还没搞。(目前自己这边暂时可以凑合用用)

Reply View the author
1 / 2
To page