[Text Editor] 以管理员身份打开的文件夹内文本编辑无法使用输入法只能英文输入
Tofloor
poster avatar
😏
deepin
2024-08-22 15:04
Author

假设一个文件夹内的文本文件权限都是444的只读模式,那么无法直接进行文本编辑。

如果我不想直接改变文件权限的话,就要右击这个文件夹选择 以管理员身份打开 ,然后再选中对应的文本文件使用文本编辑器可以编辑,然而这种情况下无法调用输入法,只能键入英文和数字,其他文本字符包括中文只能通过复制粘贴的方式来键入,很鸡肋 请求解决

不知道V23有没有解决了这个问题,目前版本是V20.9,一直收不到V23的推送

========================================================

搜索了下板块,发现有人提出过类似的质疑,但是你们反馈说是正常情况。

我十分不理解

1.这种场景如果不支持文件编辑 为何英文数字可以正常键入

2.如果这种场景不支持中文输入 为什么通过复制粘贴可以完成中文编辑

3.如果问题在输入法应用层上 那完全是可以解决的啊。

4.这都2024年了 在中国的市场上 居然还有不支持中文编辑的操作系统

5.如果实在解决不了,我提一个建议,能不能在文本编辑器中自建一个“输入法” 向文本中发送字符编码总可以了吧,进程内部解决总可以了吧,就是麻烦实现起来麻烦一些

Reply Favorite View the author
All Replies
DebuggerX
deepin
2024-08-22 18:18
#1

因为root下不好调用输入法,涉及到环境变量、dbus session等一大堆问题,是输入法的实现原理决定的。

不要以为输入法很简单,Linux的输入法最难的就是和系统及各个组件的配合,很多问题从输入法自身是解决不了的,系统层面难以解决,更多问题只能X11、Wayland、GTK、QT等等基础组件方支持,而各种原因导致很多时候它们根本不屌你。具体有多复杂,从fcitx5输入法现在的维护者的博客可以窥见一二:

https://www.csslayer.info/wordpress/fcitx-dev/chrome-state-of-input-method-on-wayland/

这个问题,主流发行版也是一样的,openKylin也是一样的。

所以要我说deepin就该直接把“以管理员身份打开”这个选项删了,本意是方便用户,实际根本就不该允许普通用户这样操作。甚至更进一步直接拒绝普通用户以root启动任何图形程序都没毛病。

应用内输入法我还真做过,不过是为了解决工控机没有桌面环境没有键盘,单应用纯触屏输入中文的问题,做出来简单,做到能用不容易,做到系统交付级别很难。而且第三方应用肯定没有,做也只能做系统自研的几个应用,解决范围有限,意义不大。

Reply View the author
hotime
deepin
2024-08-22 18:20
#2

关于这个问题,我认为 sublime text的实现逻辑就很不错。

使用 sublime text对需要管理员权限的文本文件进行编辑时,它实际上会在临时目录中创建这个文本文件的副本,当编辑完成进行保存时,后台会调用相应的命令,弹出授权对话框,输入管理员密码后将这个临时文本文件复制到原位置,以达到编辑需要管理员权限的文本文件的目的。

这样就不会由于以root身份打开软件而无法使用非root用户启动的fcitx输入法的问题。

深度文本编辑器完全可以参考一下,不然对于编辑需要管理员权限的文件并且需要录入中文的这种情况,深度文本编辑器是无法胜任的。

Reply View the author
😏
deepin
2024-08-22 20:59
#3

偶尔几个文件出现这种情况还可以赋值777,但是如果一个工作需要对几百个这样的文件编辑时 而不能使用-R递归赋权的情况下 就显得极其麻烦。如果DEEPIN可以在UI层面通过鼠标点点就可以修改文件的权限属性 而不是每个文件都要去敲键盘的话 则也会方便很多

Reply View the author
lizipeng0013
deepin
2024-08-23 02:58
#4

这个程序可以用(原理就是自动复制粘贴):https://bbs.deepin.org/post/265099

如果官方能够做个类似的输入工具就好了,任何程序都可以输入中文,不需要输入法插件

Reply View the author