[Share Experiences] linux blender中文输入 暂时解决方法
Tofloor
poster avatar
qq4945286
deepin
2023-08-31 19:53
Author

因为自己不懂代码,在这里要感谢论坛的@hotime详细解答

自己又根据豆包生成的脚本和原来的结合修改了一下。下面是视频演示

https://www.bilibili.com/video/BV1pz4y1K7KT/?vd_source=73aa510057de513a8d1a99b9b27b9a81#reply575463408

下面是代码脚本代码

#!/bin/bash

while true

 do

read -p "请输入您要复制的内容:" text

echo "您输入的内容为:" $text

echo $text | xsel -b

 done

下面是桌面图标代码

[Desktop Entry]

Encoding=UTF-8

Name=1

Exec=bash /home/deepin/apps/blenderzi/1.sh

Icon=/home/deepin/apps/blenderzi/zi.svg

Info="Spark"

Terminal=true 

Type=Application

StartupNotify=true
Reply Favorite View the author
All Replies
hotime
deepin
2023-09-01 03:01
#1

完善了一下在深度终端雷神模式中使用的体验,键入待复制的内容并回车键确认后会自动隐藏雷神终端,等待下次唤出。

创建并编辑 auto-copy脚本

sudo vim /usr/local/bin/auto-copy

内容如下:

#!/bin/bash

# 友情提示:
# 1、请在深度终端的雷神模式中使用此脚本。
# 2、此脚本在输入内容后会通过模拟快捷键隐藏雷神终端,所以请勿修改默认快捷键Alt+F2
# 3、如Alt+F2不方便使用,请通过“控制中心-键盘和语言-快捷键”中下方加号按钮添加自定义快捷键
# 示例如下: 名称:呼叫雷神终端   命令:deepin-terminal -q   快捷键:Alt+Q

clear
i=0
while true
do
	i=$((i+1))
	read -p "内容$(printf "%02d" $i):" text
	if [[ $text == "exit" ]]; then
		break
	fi
	echo $text | xsel -b
	xdotool key Alt+F2
	sleep 1
done
clear
echo "程序已退出"
xdotool key Alt+F2

为脚本赋予执行权限:

sudo chmod +x /usr/local/bin/auto-copy

安装脚本中所需要的的 xsel

sudo apt install -y xsel 

使用快捷键Alt+F2或者新增的自定义快捷键打开深度终端的雷神模式,输入 auto-copy以执行此脚本。

键入任意需要复制的内容,以回车键确认,确认后键入内容会自动复制到剪切板中,并且雷神终端界面会自动隐藏。再次需要复制键入内容时,通过快捷键唤出雷神终端,输入待复制的内容即可。

不再使用脚本时,键入exit以退出脚本、或Ctrl+C退出脚本、或关闭雷神终端。


使用效果:(我这里新增的自定义快捷键是Alt+Q还算顺手)

录屏_选择区域_20230831192407.gif

Reply View the author
qq4945286
deepin
2023-09-01 03:28
#2
hotime

完善了一下在深度终端雷神模式中使用的体验,键入待复制的内容并回车键确认后会自动隐藏雷神终端,等待下次唤出。

创建并编辑 auto-copy脚本

sudo vim /usr/local/bin/auto-copy

内容如下:

#!/bin/bash

# 友情提示:
# 1、请在深度终端的雷神模式中使用此脚本。
# 2、此脚本在输入内容后会通过模拟快捷键隐藏雷神终端,所以请勿修改默认快捷键Alt+F2
# 3、如Alt+F2不方便使用,请通过“控制中心-键盘和语言-快捷键”中下方加号按钮添加自定义快捷键
# 示例如下: 名称:呼叫雷神终端   命令:deepin-terminal -q   快捷键:Alt+Q

clear
i=0
while true
do
	i=$((i+1))
	read -p "内容$(printf "%02d" $i):" text
	if [[ $text == "exit" ]]; then
		break
	fi
	echo $text | xsel -b
	xdotool key Alt+F2
	sleep 1
done
clear
echo "程序已退出"
xdotool key Alt+F2

为脚本赋予执行权限:

sudo chmod +x /usr/local/bin/auto-copy

安装脚本中所需要的的 xsel

sudo apt install -y xsel 

使用快捷键Alt+F2或者新增的自定义快捷键打开深度终端的雷神模式,输入 auto-copy以执行此脚本。

键入任意需要复制的内容,以回车键确认,确认后键入内容会自动复制到剪切板中,并且雷神终端界面会自动隐藏。再次需要复制键入内容时,通过快捷键唤出雷神终端,输入待复制的内容即可。

不再使用脚本时,键入exit以退出脚本、或Ctrl+C退出脚本、或关闭雷神终端。


使用效果:(我这里新增的自定义快捷键是Alt+Q还算顺手)

录屏_选择区域_20230831192407.gif

这个不错

Reply View the author
qq4945286
deepin
2023-09-01 03:38
#3
qq4945286

这个不错

这样就方便多了,谢谢!

Reply View the author
qq4945286
deepin
2023-09-16 15:49
#4
hotime

完善了一下在深度终端雷神模式中使用的体验,键入待复制的内容并回车键确认后会自动隐藏雷神终端,等待下次唤出。

创建并编辑 auto-copy脚本

sudo vim /usr/local/bin/auto-copy

内容如下:

#!/bin/bash

# 友情提示:
# 1、请在深度终端的雷神模式中使用此脚本。
# 2、此脚本在输入内容后会通过模拟快捷键隐藏雷神终端,所以请勿修改默认快捷键Alt+F2
# 3、如Alt+F2不方便使用,请通过“控制中心-键盘和语言-快捷键”中下方加号按钮添加自定义快捷键
# 示例如下: 名称:呼叫雷神终端   命令:deepin-terminal -q   快捷键:Alt+Q

clear
i=0
while true
do
	i=$((i+1))
	read -p "内容$(printf "%02d" $i):" text
	if [[ $text == "exit" ]]; then
		break
	fi
	echo $text | xsel -b
	xdotool key Alt+F2
	sleep 1
done
clear
echo "程序已退出"
xdotool key Alt+F2

为脚本赋予执行权限:

sudo chmod +x /usr/local/bin/auto-copy

安装脚本中所需要的的 xsel

sudo apt install -y xsel 

使用快捷键Alt+F2或者新增的自定义快捷键打开深度终端的雷神模式,输入 auto-copy以执行此脚本。

键入任意需要复制的内容,以回车键确认,确认后键入内容会自动复制到剪切板中,并且雷神终端界面会自动隐藏。再次需要复制键入内容时,通过快捷键唤出雷神终端,输入待复制的内容即可。

不再使用脚本时,键入exit以退出脚本、或Ctrl+C退出脚本、或关闭雷神终端。


使用效果:(我这里新增的自定义快捷键是Alt+Q还算顺手)

录屏_选择区域_20230831192407.gif

请问这个在wayland模式下怎样调用。

Reply View the author
hotime
deepin
2023-09-16 17:19
#5
qq4945286

请问这个在wayland模式下怎样调用。

wayland模式下也能用,一样的操作。

只是剪切板有点小BUG,有些复制的内容不会出显示在剪切板,比如这个脚本复制的内容,但Ctrl+V是可以粘贴出来的。(我这边测试的结果)

Reply View the author
qq4945286
deepin
2023-09-16 20:54
#6
hotime

wayland模式下也能用,一样的操作。

只是剪切板有点小BUG,有些复制的内容不会出显示在剪切板,比如这个脚本复制的内容,但Ctrl+V是可以粘贴出来的。(我这边测试的结果)

我这边按ctrl+v粘贴不出来

Reply View the author
qq4945286
deepin
2023-09-16 20:56
#7
qq4945286

我这边按ctrl+v粘贴不出来

ctrl+v粘贴到记事本不行,发现可以粘贴到这回复的里面。粘贴到blender也不行。

Reply View the author
hotime
deepin
2023-09-17 02:52
#8
qq4945286

ctrl+v粘贴到记事本不行,发现可以粘贴到这回复的里面。粘贴到blender也不行。

深度剪切板dde-clipboard在wayland中有些BUG,还不够完善。

还是先用X11吧,等这问题修复了再用wayland

或者:粘贴的时候,借助fcitx5输入法内置的剪切板来将xsel复制的文字粘贴出来。方法是在复制完之后,在需要粘贴文字的地方使用快捷键Ctrl+; 然后按回车或者空格将第一个候选项上屏。

录屏_选择区域_20230916185404.gif


当然,你也可以修改这一默认按键来方便使用,控制中心 - 键盘和语言 - 输入法 - 高级设置 - 附加组件 - 剪切板, 点击右侧齿轮按钮修改触发键。

截图_选择区域_20230916185940.png

Reply View the author
qq4945286
deepin
2023-09-17 04:27
#9
hotime

深度剪切板dde-clipboard在wayland中有些BUG,还不够完善。

还是先用X11吧,等这问题修复了再用wayland

或者:粘贴的时候,借助fcitx5输入法内置的剪切板来将xsel复制的文字粘贴出来。方法是在复制完之后,在需要粘贴文字的地方使用快捷键Ctrl+; 然后按回车或者空格将第一个候选项上屏。

录屏_选择区域_20230916185404.gif


当然,你也可以修改这一默认按键来方便使用,控制中心 - 键盘和语言 - 输入法 - 高级设置 - 附加组件 - 剪切板, 点击右侧齿轮按钮修改触发键。

截图_选择区域_20230916185940.png

谢谢!现在还是先用x11前面只是到w模式下试了一下

Reply View the author
hotime
deepin
2023-09-17 07:14
#10
qq4945286

谢谢!现在还是先用x11前面只是到w模式下试了一下

xsel或是xclip似乎是针对X11的,wayland中需要使用类似wl-clipboard这样的。

sudo apt install -y wl-clipboard

具体用法是echo "hello world" | wl-copy,这样在wayland中可以将字符串"hello world"复制到系统剪贴板中,当然dde-clipboard中暂时看不到。但这次亲测确信可以用!!!

把这指令补充到auto-copy脚本中,增加是否是wayland的判断,如下:

#!/bin/bash

# 友情提示:
# 1、请在深度终端的雷神模式中使用此脚本
# 2、如果使用X11模式,请安装xsel;如果使用wayland模式,请安装wl-clipboard
# 3、此脚本在输入内容后会通过模拟快捷键隐藏雷神终端,所以请勿修改默认快捷键Alt+F2
# 4、如Alt+F2不方便使用,请通过“控制中心-键盘和语言-快捷键”中下方加号按钮添加自定义快捷键
# 示例如下: 名称:呼叫雷神终端   命令:deepin-terminal -q   快捷键:Alt+Q

clear

i=0

# X11中使用xsel,以复制文本至系统剪贴板
command_copy() {
	echo $text | xsel -b
}

# wayland中使用wl-copy,以复制文本至系统剪贴板
if [[ $XDG_SESSION_TYPE == "wayland" ]]; then
	command_copy() {
		echo $text | wl-copy
	}
fi

while true
do
	i=$((i+1))
	read -p "内容$(printf "%02d" $i):" text
	if [[ $text == "exit" ]]; then
		break
	fi
	command_copy
	xdotool key Alt+F2
	sleep 1
done

clear

echo "程序已退出"

xdotool key Alt+F2

Reply View the author
qq4945286
deepin
2023-09-17 07:37
#11
hotime

xsel或是xclip似乎是针对X11的,wayland中需要使用类似wl-clipboard这样的。

sudo apt install -y wl-clipboard

具体用法是echo "hello world" | wl-copy,这样在wayland中可以将字符串"hello world"复制到系统剪贴板中,当然dde-clipboard中暂时看不到。但这次亲测确信可以用!!!

把这指令补充到auto-copy脚本中,增加是否是wayland的判断,如下:

#!/bin/bash

# 友情提示:
# 1、请在深度终端的雷神模式中使用此脚本
# 2、如果使用X11模式,请安装xsel;如果使用wayland模式,请安装wl-clipboard
# 3、此脚本在输入内容后会通过模拟快捷键隐藏雷神终端,所以请勿修改默认快捷键Alt+F2
# 4、如Alt+F2不方便使用,请通过“控制中心-键盘和语言-快捷键”中下方加号按钮添加自定义快捷键
# 示例如下: 名称:呼叫雷神终端   命令:deepin-terminal -q   快捷键:Alt+Q

clear

i=0

# X11中使用xsel,以复制文本至系统剪贴板
command_copy() {
	echo $text | xsel -b
}

# wayland中使用wl-copy,以复制文本至系统剪贴板
if [[ $XDG_SESSION_TYPE == "wayland" ]]; then
	command_copy() {
		echo $text | wl-copy
	}
fi

while true
do
	i=$((i+1))
	read -p "内容$(printf "%02d" $i):" text
	if [[ $text == "exit" ]]; then
		break
	fi
	command_copy
	xdotool key Alt+F2
	sleep 1
done

clear

echo "程序已退出"

xdotool key Alt+F2

这下是可以了,谢谢!

Reply View the author
咿呀咿
deepin
2024-07-23 13:18
#12
hotime

完善了一下在深度终端雷神模式中使用的体验,键入待复制的内容并回车键确认后会自动隐藏雷神终端,等待下次唤出。

创建并编辑 auto-copy脚本

sudo vim /usr/local/bin/auto-copy

内容如下:

#!/bin/bash

# 友情提示:
# 1、请在深度终端的雷神模式中使用此脚本。
# 2、此脚本在输入内容后会通过模拟快捷键隐藏雷神终端,所以请勿修改默认快捷键Alt+F2
# 3、如Alt+F2不方便使用,请通过“控制中心-键盘和语言-快捷键”中下方加号按钮添加自定义快捷键
# 示例如下: 名称:呼叫雷神终端   命令:deepin-terminal -q   快捷键:Alt+Q

clear
i=0
while true
do
	i=$((i+1))
	read -p "内容$(printf "%02d" $i):" text
	if [[ $text == "exit" ]]; then
		break
	fi
	echo $text | xsel -b
	xdotool key Alt+F2
	sleep 1
done
clear
echo "程序已退出"
xdotool key Alt+F2

为脚本赋予执行权限:

sudo chmod +x /usr/local/bin/auto-copy

安装脚本中所需要的的 xsel

sudo apt install -y xsel 

使用快捷键Alt+F2或者新增的自定义快捷键打开深度终端的雷神模式,输入 auto-copy以执行此脚本。

键入任意需要复制的内容,以回车键确认,确认后键入内容会自动复制到剪切板中,并且雷神终端界面会自动隐藏。再次需要复制键入内容时,通过快捷键唤出雷神终端,输入待复制的内容即可。

不再使用脚本时,键入exit以退出脚本、或Ctrl+C退出脚本、或关闭雷神终端。


使用效果:(我这里新增的自定义快捷键是Alt+Q还算顺手)

录屏_选择区域_20230831192407.gif

好用

Reply View the author
咿呀咿
deepin
2024-07-29 22:15
#13
hotime

完善了一下在深度终端雷神模式中使用的体验,键入待复制的内容并回车键确认后会自动隐藏雷神终端,等待下次唤出。

创建并编辑 auto-copy脚本

sudo vim /usr/local/bin/auto-copy

内容如下:

#!/bin/bash

# 友情提示:
# 1、请在深度终端的雷神模式中使用此脚本。
# 2、此脚本在输入内容后会通过模拟快捷键隐藏雷神终端,所以请勿修改默认快捷键Alt+F2
# 3、如Alt+F2不方便使用,请通过“控制中心-键盘和语言-快捷键”中下方加号按钮添加自定义快捷键
# 示例如下: 名称:呼叫雷神终端   命令:deepin-terminal -q   快捷键:Alt+Q

clear
i=0
while true
do
	i=$((i+1))
	read -p "内容$(printf "%02d" $i):" text
	if [[ $text == "exit" ]]; then
		break
	fi
	echo $text | xsel -b
	xdotool key Alt+F2
	sleep 1
done
clear
echo "程序已退出"
xdotool key Alt+F2

为脚本赋予执行权限:

sudo chmod +x /usr/local/bin/auto-copy

安装脚本中所需要的的 xsel

sudo apt install -y xsel 

使用快捷键Alt+F2或者新增的自定义快捷键打开深度终端的雷神模式,输入 auto-copy以执行此脚本。

键入任意需要复制的内容,以回车键确认,确认后键入内容会自动复制到剪切板中,并且雷神终端界面会自动隐藏。再次需要复制键入内容时,通过快捷键唤出雷神终端,输入待复制的内容即可。

不再使用脚本时,键入exit以退出脚本、或Ctrl+C退出脚本、或关闭雷神终端。


使用效果:(我这里新增的自定义快捷键是Alt+Q还算顺手)

录屏_选择区域_20230831192407.gif

大佬,我这有个问题想请教,在雷神模式下,我回车有多余的符号,能让他不出现吗?

录屏_deepin-terminal_20240729221105.gif

Reply View the author
qq4945286
deepin
2024-07-30 08:36
#14
咿呀咿

大佬,我这有个问题想请教,在雷神模式下,我回车有多余的符号,能让他不出现吗?

录屏_deepin-terminal_20240729221105.gif

我的是不会,是不是输入法的关系。你直接联系这个脚本的网友

Reply View the author
咿呀咿
deepin
2024-07-30 16:57
#15
qq4945286

我的是不会,是不是输入法的关系。你直接联系这个脚本的网友

估计是了,好的

Reply View the author
hotime
deepin
2024-07-30 19:06
#16
咿呀咿

大佬,我这有个问题想请教,在雷神模式下,我回车有多余的符号,能让他不出现吗?

录屏_deepin-terminal_20240729221105.gif

修改成这样试试看:

#!/bin/bash

# 友情提示:
# 1、请在深度终端的雷神模式中使用此脚本
# 2、如果使用X11模式,请安装xsel;如果使用wayland模式,请安装wl-clipboard
# 3、此脚本在输入内容后会通过模拟快捷键隐藏雷神终端,所以请勿修改默认快捷键Alt+F2
# 4、如Alt+F2不方便使用,请通过“控制中心-键盘和语言-快捷键”中下方加号按钮添加自定义快捷键
# 示例如下: 名称:呼叫雷神终端   命令:deepin-terminal -q   快捷键:Alt+Q

# 清屏
clear

i=0

# X11中使用xsel,以复制文本至系统剪贴板
command_copy() {
  echo -n $text | xsel -b
}

# wayland中使用wl-copy,以复制文本至系统剪贴板
if [[ $XDG_SESSION_TYPE == "wayland" ]]; then
  command_copy() {
    echo -n $text | wl-copy
  }
fi

# 开始无限循环
while true
do
  i=$((i+1))
  # 读取键入内容,并保存至变量text中
  read -p "内容$(printf "%02d" $i):" text
  text="${text%$'\n'}"
  if [[ $text == "exit" ]]; then
    break
  fi
  # 调用指定方法,复制键入的文本至系统剪贴板
  command_copy
  # 调用快捷键隐藏雷神终端
  xdotool key Alt+F2
  # 睡眠1秒,以延迟下次循环,避免雷神终端正在隐藏时,程序已经进入下一循环,并显示下一循环输出的文本内容
  sleep 1
done
# 结束无限循环

# 清屏
clear

# 显示程序退出信息
echo "程序已退出"

# 调用快捷键隐藏雷神终端
xdotool key Alt+F2

只在echo命令后加上了-n 参数,让录入的文字末尾不再自动追加换行符,不确定对你的问题有没有帮助,可以试试看

Reply View the author
hotime
deepin
2024-07-31 08:36
#17
咿呀咿

大佬,我这有个问题想请教,在雷神模式下,我回车有多余的符号,能让他不出现吗?

录屏_deepin-terminal_20240729221105.gif

我想我可能找到原因了,你应该是将雷神终端的快捷键直接修改掉了,而非新增对吧?

由于脚本中依赖Alt+F2这一快捷键来自动收起雷神终端窗口,修改掉快捷键后会导致 xdotool key Alt+F2 模拟按下快捷键Alt+F2时没有产生应有的效果,导致不被终端识别的特殊字符出现(以^[开头的)

所以你看注释里其实有提到如果用户感觉默认快捷键按着不方便,可以选择新增雷神终端快捷键。

或者你也可以直接将脚本中的xdotool key Alt+F2修改为你当前使用的快捷键,这样也自然不用去额外新增快捷键了。

Reply View the author
qq4945286
deepin
2024-07-31 10:26
#18
hotime

我想我可能找到原因了,你应该是将雷神终端的快捷键直接修改掉了,而非新增对吧?

由于脚本中依赖Alt+F2这一快捷键来自动收起雷神终端窗口,修改掉快捷键后会导致 xdotool key Alt+F2 模拟按下快捷键Alt+F2时没有产生应有的效果,导致不被终端识别的特殊字符出现(以^[开头的)

所以你看注释里其实有提到如果用户感觉默认快捷键按着不方便,可以选择新增雷神终端快捷键。

或者你也可以直接将脚本中的xdotool key Alt+F2修改为你当前使用的快捷键,这样也自然不用去额外新增快捷键了。

我的就一直用着正常

Reply View the author