为什么X下的字符会随机的变形?

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

为什么X下的字符会随机的变形?

#1

帖子 科学之子 » 2014-03-21 2:24

变形的形状不一定,类似于花屏一样,但只是某一个或某几个字符出现这种情况.
非字符的普通图像貌似不会出现这种问题.
tty也没有发现这种问题.
发行版是lubuntu13.10
变形效果如图:
字符截图.png
字符截图.png (4.54 KiB) 查看 17090 次
Sun Mar 23 07:47:06 CST 2014补充:
目前在虚拟机内的Lubuntu和实机中Lubuntu的LiveCD试用都没有发现问题.
但用LiveCD在另一个分区安装一个新Lubuntu,发现新安装的系统和老系统有同样的问题.

Sun Mar 23 08:18:01 CST 2014补充:
为了更好的展示问题,又进行了一个截图.
字符花屏2.png
字符花屏2.png (1.97 KiB) 查看 15703 次
Thu Mar 27 11:25:08 CST 2014补充:
首先感谢 f0rrest的解答,尤其是21楼的回复,帮助我解决了问题.
下面总结一下方法(我是intel集成显卡,因此可能该方法仅对intel集成显卡有效):
在/etc/X11/xorg.conf 里面找到有Driver "intel"的那个Section,加入一行 Option "AccelMethod" "UXA"
如果相应位置没有像xorg.conf,则需要用命令生成,这个搜索起来真的很简单,在google里搜索"ubuntu xorg.conf 生成"(不含双引号),相信您肯定能自己搜索到.

但我尝试这个方法之前更新了一下驱动,不确定该方法的奏效是否和这个有关.
intel驱动下载地址:https://01.org/linuxgraphics/downloads
下载的是"Intel(R) Graphics Installer 1.0.4 for Linux*" 的 "Graphics Installer for Ubuntu* 13.10, 32-bit"

故障原因,可能是显卡驱动的SNA加速模式有BUG,详细看http://ubuntuforums.org/showthread.php?t=2171399
以上总结根据 f0rrest在21楼的回复得出.
上次由 科学之子 在 2014-03-27 11:34,总共编辑 3 次。
poloshiao
论坛版主
帖子: 18279
注册时间: 2009-08-04 16:33

Re: 为什么X下的字符会随机的变形?

#2

帖子 poloshiao » 2014-03-21 7:06

X下的字符
你執行什麼程式 會變形 ?
還是 無論你執行什麼程式都變形 ?
還是 無論你使用什麼使用者登入 都變形 ?
症狀不同 原因可能不同
头像
YeLee
论坛版主
帖子: 26406
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
联系:

Re: 为什么X下的字符会随机的变形?

#3

帖子 YeLee » 2014-03-21 9:45

总觉得那是单个字体的问题,还是建议阁下检查一下自己的fontconfig配置文件吧。 :em01
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
头像
VampirEM木法沙
帖子: 151
注册时间: 2013-10-29 19:36
系统: ubuntu12.04

Re: 为什么X下的字符会随机的变形?

#4

帖子 VampirEM木法沙 » 2014-03-21 12:03

YeLee 写了:总觉得那是单个字体的问题,还是建议阁下检查一下自己的fontconfig配置文件吧。 :em01
恩恩,赞成轮大的说法,应该是你选择的字体在ubuntu上的兼容性问题吧
在地狱中仰望天堂!
三十年河东,三十年河西,莫欺少年穷!
别在可以吃苦的时候贪图安逸!
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

Re: 为什么X下的字符会随机的变形?

#5

帖子 科学之子 » 2014-03-22 5:34

poloshiao 写了:
X下的字符
你執行什麼程式 會變形 ?
還是 無論你執行什麼程式都變形 ?
還是 無論你使用什麼使用者登入 都變形 ?
症狀不同 原因可能不同
没有具体注意,只是注意到字符会出现这种问题,貌似几乎所有程序都会随机的出现这个问题,比如lxterminal

Sat Mar 22 06:08:19 CST 2014补充:
一个可操作的重现方法是在lxterminal按住回车不放,不一会就能看到随机有字符没有正常显示.
6楼有更详细的信息.

其它程序也可以,但由于其随机性,需要几乎全屏,并且频繁显示字符才有可能重现,lxterminal只是一个例子,其它类似的可以几乎全屏且频繁显示字符的情况应该都可以)
上次由 科学之子 在 2014-03-22 6:16,总共编辑 3 次。
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

Re: 为什么X下的字符会随机的变形?

#6

帖子 科学之子 » 2014-03-22 6:07

YeLee 写了:总觉得那是单个字体的问题,还是建议阁下检查一下自己的fontconfig配置文件吧。 :em01
字体没注意,不过貌似字体并不会有什么不同.
我记忆中没有执行过什么能够直接或间接改变系统字体设置的操作.
home目录中没有.fonts.conf.

一个可操作的重现方法是在lxterminal按住回车不放,不一会就能看到随机有字符没有正常显示.
其它程序也可以,但由于其随机性,需要几乎全屏,并且频繁显示字符才有可能重现,lxterminal只是一个例子,其它类似的可以几乎全屏且频繁显示字符的情况应该都可以)
/etc/fonts/fonts.conf内容如下(内容和虚拟机内的相同,但虚拟机的lubuntu并没有这个问题):

代码: 全选

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- /etc/fonts/fonts.conf file to configure system font access -->
<fontconfig>

<!--
	DO NOT EDIT THIS FILE.
	IT WILL BE REPLACED WHEN FONTCONFIG IS UPDATED.
	LOCAL CHANGES BELONG IN 'local.conf'.

	The intent of this standard configuration file is to be adequate for
	most environments.  If you have a reasonably normal environment and
	have found problems with this configuration, they are probably
	things that others will also want fixed.  Please submit any
	problems to the fontconfig bugzilla system located at fontconfig.org

	Note that the normal 'make install' procedure for fontconfig is to
	replace any existing fonts.conf file with the new version.  Place
	any local customizations in local.conf which this file references.

	Keith Packard
-->

<!-- Font directory list -->

	<dir>/usr/share/fonts</dir>
	<dir>/usr/X11R6/lib/X11/fonts</dir> <dir>/usr/local/share/fonts</dir>
	<dir prefix="xdg">fonts</dir>
	<!-- the following element will be removed in the future -->
	<dir>~/.fonts</dir>

<!--
  Accept deprecated 'mono' alias, replacing it with 'monospace'
-->
	<match target="pattern">
		<test qual="any" name="family">
			<string>mono</string>
		</test>
		<edit name="family" mode="assign" binding="same">
			<string>monospace</string>
		</edit>
	</match>

<!--
  Accept alternate 'sans serif' spelling, replacing it with 'sans-serif'
-->
	<match target="pattern">
		<test qual="any" name="family">
			<string>sans serif</string>
		</test>
		<edit name="family" mode="assign" binding="same">
			<string>sans-serif</string>
		</edit>
	</match>

<!--
  Accept deprecated 'sans' alias, replacing it with 'sans-serif'
-->
	<match target="pattern">
		<test qual="any" name="family">
			<string>sans</string>
		</test>
		<edit name="family" mode="assign" binding="same">
			<string>sans-serif</string>
		</edit>
	</match>

<!--
  Load local system customization file
-->
	<include ignore_missing="yes">/etc/fonts/conf.d</include>

<!-- Font cache directory list -->

	<cachedir>/var/cache/fontconfig</cachedir>
	<cachedir prefix="xdg">fontconfig</cachedir>
	<!-- the following element will be removed in the future -->
	<cachedir>~/.fontconfig</cachedir>

	<config>
<!--
  These are the default Unicode chars that are expected to be blank
  in fonts.  All other blank chars are assumed to be broken and
  won't appear in the resulting charsets
 -->
		<blank>
			<int>0x0020</int>	<!-- SPACE -->
			<int>0x00A0</int>	<!-- NO-BREAK SPACE -->
			<int>0x00AD</int>	<!-- SOFT HYPHEN -->
			<int>0x034F</int>	<!-- COMBINING GRAPHEME JOINER -->
			<int>0x0600</int>	<!-- ARABIC NUMBER SIGN -->
			<int>0x0601</int>	<!-- ARABIC SIGN SANAH -->
			<int>0x0602</int>	<!-- ARABIC FOOTNOTE MARKER -->
			<int>0x0603</int>	<!-- ARABIC SIGN SAFHA -->
			<int>0x06DD</int>	<!-- ARABIC END OF AYAH -->
			<int>0x070F</int>	<!-- SYRIAC ABBREVIATION MARK -->
			<int>0x115F</int>	<!-- HANGUL CHOSEONG FILLER -->
			<int>0x1160</int>	<!-- HANGUL JUNGSEONG FILLER -->
			<int>0x1680</int>	<!-- OGHAM SPACE MARK -->
			<int>0x17B4</int>	<!-- KHMER VOWEL INHERENT AQ -->
			<int>0x17B5</int>	<!-- KHMER VOWEL INHERENT AA -->
			<int>0x180E</int>	<!-- MONGOLIAN VOWEL SEPARATOR -->
			<int>0x2000</int>	<!-- EN QUAD -->
			<int>0x2001</int>	<!-- EM QUAD -->
			<int>0x2002</int>	<!-- EN SPACE -->
			<int>0x2003</int>	<!-- EM SPACE -->
			<int>0x2004</int>	<!-- THREE-PER-EM SPACE -->
			<int>0x2005</int>	<!-- FOUR-PER-EM SPACE -->
			<int>0x2006</int>	<!-- SIX-PER-EM SPACE -->
			<int>0x2007</int>	<!-- FIGURE SPACE -->
			<int>0x2008</int>	<!-- PUNCTUATION SPACE -->
			<int>0x2009</int>	<!-- THIN SPACE -->
			<int>0x200A</int>	<!-- HAIR SPACE -->
			<int>0x200B</int>	<!-- ZERO WIDTH SPACE -->
			<int>0x200C</int>	<!-- ZERO WIDTH NON-JOINER -->
			<int>0x200D</int>	<!-- ZERO WIDTH JOINER -->
			<int>0x200E</int>	<!-- LEFT-TO-RIGHT MARK -->
			<int>0x200F</int>	<!-- RIGHT-TO-LEFT MARK -->
			<int>0x2028</int>	<!-- LINE SEPARATOR -->
			<int>0x2029</int>	<!-- PARAGRAPH SEPARATOR -->
			<int>0x202A</int>	<!-- LEFT-TO-RIGHT EMBEDDING -->
			<int>0x202B</int>	<!-- RIGHT-TO-LEFT EMBEDDING -->
			<int>0x202C</int>	<!-- POP DIRECTIONAL FORMATTING -->
			<int>0x202D</int>	<!-- LEFT-TO-RIGHT OVERRIDE -->
			<int>0x202E</int>	<!-- RIGHT-TO-LEFT OVERRIDE -->
			<int>0x202F</int>	<!-- NARROW NO-BREAK SPACE -->
			<int>0x205F</int>	<!-- MEDIUM MATHEMATICAL SPACE -->
			<int>0x2060</int>	<!-- WORD JOINER -->
			<int>0x2061</int>	<!-- FUNCTION APPLICATION -->
			<int>0x2062</int>	<!-- INVISIBLE TIMES -->
			<int>0x2063</int>	<!-- INVISIBLE SEPARATOR -->
			<int>0x206A</int>	<!-- INHIBIT SYMMETRIC SWAPPING -->
			<int>0x206B</int>	<!-- ACTIVATE SYMMETRIC SWAPPING -->
			<int>0x206C</int>	<!-- INHIBIT ARABIC FORM SHAPING -->
			<int>0x206D</int>	<!-- ACTIVATE ARABIC FORM SHAPING -->
			<int>0x206E</int>	<!-- NATIONAL DIGIT SHAPES -->
			<int>0x206F</int>	<!-- NOMINAL DIGIT SHAPES -->
			<int>0x2800</int>	<!-- BRAILLE PATTERN BLANK -->
			<int>0x3000</int>	<!-- IDEOGRAPHIC SPACE -->
			<int>0x3164</int>	<!-- HANGUL FILLER -->
			<int>0xFEFF</int>	<!-- ZERO WIDTH NO-BREAK SPACE -->
			<int>0xFFA0</int>	<!-- HALFWIDTH HANGUL FILLER -->
			<int>0xFFF9</int>	<!-- INTERLINEAR ANNOTATION ANCHOR -->
			<int>0xFFFA</int>	<!-- INTERLINEAR ANNOTATION SEPARATOR -->
			<int>0xFFFB</int>	<!-- INTERLINEAR ANNOTATION TERMINATOR -->
		</blank>
<!--
  Rescan configuration every 30 seconds when FcFontSetList is called
 -->
		<rescan>
			<int>30</int>
		</rescan>
	</config>

</fontconfig>
上次由 科学之子 在 2014-03-22 6:17,总共编辑 2 次。
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

Re: 为什么X下的字符会随机的变形?

#7

帖子 科学之子 » 2014-03-22 6:10

VampirEM木法沙 写了:
YeLee 写了:总觉得那是单个字体的问题,还是建议阁下检查一下自己的fontconfig配置文件吧。 :em01
恩恩,赞成轮大的说法,应该是你选择的字体在ubuntu上的兼容性问题吧
我的文件是默认文件,看6楼.
并且这个问题在虚拟机内不存在,但实机存在.
一个可操作的重现方法是在lxterminal按住回车不放,不一会就能看到随机有字符没有正常显示.
其它程序也可以,但由于其随机性,需要几乎全屏,并且频繁显示字符才有可能重现,lxterminal只是一个例子,其它类似的可以几乎全屏且频繁显示字符的情况应该都可以)
poloshiao
论坛版主
帖子: 18279
注册时间: 2009-08-04 16:33

Re: 为什么X下的字符会随机的变形?

#8

帖子 poloshiao » 2014-03-22 7:30

需要几乎全屏
中文字符 分爲 點陣 與 向量
你試試
點陣 與 向量 中文字符
表現有沒有一樣

如果你不知道
哪些字體是 點陣
哪些字體是 向量

簡單的測試
字體放大過程 會逐漸失真的是 點陣
字體放大過程 逐漸失真幅度較小的是 向量

每個點陣字符 都有限制 解析度 不可以超過多少
超過 就會失真
http://www.360doc.com/content/09/1208/2 ... 3172.shtml
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

Re: 为什么X下的字符会随机的变形?

#9

帖子 科学之子 » 2014-03-22 8:30

poloshiao 写了:
需要几乎全屏
中文字符 分爲 點陣 與 向量
你試試
點陣 與 向量 中文字符
表現有沒有一樣

如果你不知道
哪些字體是 點陣
哪些字體是 向量

簡單的測試
字體放大過程 會逐漸失真的是 點陣
字體放大過程 逐漸失真幅度較小的是 向量

每個點陣字符 都有限制 解析度 不可以超過多少
超過 就會失真
http://www.360doc.com/content/09/1208/2 ... 3172.shtml
经过测试,中文字符确实没有花屏(变形),会是这个关系?我用的是"测试"两个字
测试整个过程中,字体的大小并没有发生变化,只是输出的文字信息在不断刷新.
lxterminal的字体是设置为monospace.
而且,虚拟机中并没有发现这种随机花屏(变形)现象.
再次说明一下,我这里说的"变形"实际上是随机的单个字符出现类似"花屏"的现象,而非放大缩小那样的失真.
poloshiao
论坛版主
帖子: 18279
注册时间: 2009-08-04 16:33

Re: 为什么X下的字符会随机的变形?

#10

帖子 poloshiao » 2014-03-22 11:05

lxterminal的字体是设置为monospace
同樣是 monospace
http://blog.roodo.com/dabinn/archives/18774018.html
表現不一樣
甚至於 有的字體
某個尺寸一下 是 點陣
某個尺寸以上 是 向量
poloshiao
论坛版主
帖子: 18279
注册时间: 2009-08-04 16:33

Re: 为什么X下的字符会随机的变形?

#11

帖子 poloshiao » 2014-03-22 11:09

输出的文字信息在不断刷新
也許跟輸入法有關
你使用
什麼輸入法框架 (ibus ...)
什麼輸入法 (拼音 ...)
中文輸入還是英文輸入 (簡體中文 英文 ...)
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

Re: 为什么X下的字符会随机的变形?

#12

帖子 科学之子 » 2014-03-23 0:49

poloshiao 写了:
输出的文字信息在不断刷新
也許跟輸入法有關
你使用
什麼輸入法框架 (ibus ...)
什麼輸入法 (拼音 ...)
中文輸入還是英文輸入 (簡體中文 英文 ...)
用的是fcitx,把fcitx移除也还是一样.
我在实机中尝试从livecd启动,发现livecd也没有这个问题.
可能真的是我的配置问题,正在考虑试试看实机重新安装.
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

Re: 为什么X下的字符会随机的变形?

#13

帖子 科学之子 » 2014-03-23 7:46

poloshiao 写了:
输出的文字信息在不断刷新
也許跟輸入法有關
你使用
什麼輸入法框架 (ibus ...)
什麼輸入法 (拼音 ...)
中文輸入還是英文輸入 (簡體中文 英文 ...)
LiveCD直接运行没问题,但是安装之后就出现问题...
刚刚试过用LiveCD安装
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

Re: 为什么X下的字符会随机的变形?

#14

帖子 科学之子 » 2014-03-23 8:21

poloshiao 写了:
lxterminal的字体是设置为monospace
同樣是 monospace
http://blog.roodo.com/dabinn/archives/18774018.html
表現不一樣
甚至於 有的字體
某個尺寸一下 是 點陣
某個尺寸以上 是 向量
Sun Mar 23 08:18:50 CST 2014补充:
我又补充了一个新的截图,以更好的展示问题.
尽管我不确定,但总感觉这个和字体是点阵还是向量无关.(因为大小没有发生变化)
头像
YeLee
论坛版主
帖子: 26406
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
联系:

Re: 为什么X下的字符会随机的变形?

#15

帖子 YeLee » 2014-03-23 9:05

请阁下检查一下显卡驱动。谢谢。 :em01
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
回复