博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
转两好文防丢:Debian 版本升级/降级 & Linux 应用程序失去输入焦点问题的解决...
阅读量:5856 次
发布时间:2019-06-19

本文共 2673 字,大约阅读时间需要 8 分钟。

hot3.png

最近笔记本的 Debian 系统不太正常,总是在程序切换的时候键盘丢失。例如从浏览器切换到 konsole 时,无法输入,在 konsole 中通过创建新标签并在不同标签页中切换后,才能够继续输入... 这个问题很是困扰,联想到最近从 sid (Debian 不稳定发行版)做了升级,难道是升级后出现的 bug?

题外话:查看磁盘空间,是否有分区已满

实际上,这应该是当系统出现异常后,率先进行检查的。但是由于我的疏忽在Debian降级过程中,才发现 /var 卷已满,当执行 apt-get clean 命令后,释放了 5 GB以上的空间。 所以程序切换键盘丢失,到底是因为 Debian 从不稳定版升级造成的,还是因为 /var 卷已满造成的,已经查无实据。

Debian 混杂版本

所谓 Debian 混杂版本,就是在一个 debian 系统中,安装的软件包不属于同一个发行版(distribution),有的可能属于 stable(当前代号是 lenny),有的属于 testing (当前代号 squeeze),或者有的软件包属于不稳定版(代号 sid)。 Debian 的 APT 可以设置升级的默认发行版。可以创建一个文件,如: /etc/apt/apt.conf.d/01defaultrelease ,其内容为:
APT::Default-Release "testing";APT::Cache-Limit "141943904";
这样在用 aptitude 升级时,默认从 testing 版本进行升级;

Debian 版本升级

Debian 版本升级非常简单:
  • 在 /etc/apt/apt.conf.d/01defaultrelease 中设置默认发行版。
    APT::Default-Release "unstable";APT::Cache-Limit "141943904";
  • 然后,正确配置 /etc/apt/sources.list 中的升级源。例如:
    deb http://mirror.cs.umn.edu/debian/ lenny main contrib non-freedeb http://mirror.cs.umn.edu/debian/ testing main contrib non-freedeb http://mirror.cs.umn.edu/debian/ unstable main contrib non-freedeb http://mirror.cs.umn.edu/debian/ experimental main contrib non-freedeb http://security.debian.org/ stable/updates maindeb http://security.debian.org/ testing/updates main
  • 最后,执行命令:
    $ sudo aptitude update$ sudo aptitude dist-upgrade

Debian 版本降级

Debian 版本降级相比升级,要难许多。试着通过修改 APT 的 Default-Release,然后用 aptitude dist-upgrade,但是无法满足降级的需要。可以用下面的方法实现降级:
  • 在 /etc/apt/apt.conf.d/01defaultrelease 中设置默认发行版。
  • 然后,正确配置 /etc/apt/sources.list 中的升级源。
  • 执行 apt-get update 更新源的软件包列表。
  • 查看当前软件包安装情况:安装了哪些软件包,分别属于哪个发行版,版本号是什么?
    $ apt-show-version > apt-show-version.list
  • 查看文件 apt-show-version.list,筛选出需要降级的软件包,再一一手动进行降级。降级可能需要使用命令:
    • apt-cache policy <PACKAGE>
    • aptitude install <PACKAGE>=<VERSION>

后记

关于输入焦点丢失,键盘输入不响应的问题,其实并没有在此次 Debian 版本降级(sid --> testing)的过程解决。如果从sid 降级到 lenny,应该能够解决,但是我实在是舍不得 KDE4 的 3D 桌面等特效。 最终这个问题的解决,参见博客:。

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

一并插入第二篇文章:

最早在这个博客( )中就已经提到了,在 Debian 版本升级后,发现部分应用在 Alt-Tab 切换时,输入焦点失去,无法进行切换。当时以为版本降级可以解决,但是因为最终没有找到具体是哪个包造成的,又不想将系统回退到 Lenny,最终我的笔记本一直带病工作,最近很多同事的机器都已经传染了这个毛病,今天终于解决了这个问题。 简单的一句话:卸载 scim,安装 fcitx 输入法。  输入焦点的丢失,在 Koncole (KDE 最好用的终端软件) 和 FreeMind (脑图软件) 最为明显:
  • Alt-Tab 切换到其他应用(如 firefox),再用 Alt-Tab 切换回来,Konsole 或者 FreeMind 将不再响应键盘输入;
  • Konsole 支持多标签浏览,通过点击其他标签,按下 Shift + 左右方向键,切换标签可以重新获得输入焦点;
  • FreeMind 也可以通过多标签的切换,然后按下 Esc 键,键盘重新响应,或者鼠标点击任意节点,右键菜单选择编辑亦可获得输入焦点;
你看,我的笔记本就是一直这样带病坚持工作,每天花在重获焦点的时间非常客观。和几个同事商量,一定要解决。 用了 xev 等事件诊断软件,包括借助 Google,最终怀疑的目光落在输入法上。这么一个明显的 Bug,如果在互联网上没有被讨论的铺天盖地,那么一定是只影响少数人的应用。SCIM(中文输入法)就是这种应用。 解决办法是彻底卸载 scim,安装 fcitx (小企鹅输入法):
$ sudo aptitude remove scim$ sudo aptitude install fcitx# 配置小企鹅输入法为默认输入法$ sudo im-switch -c

转载于:https://my.oschina.net/emptytimespace/blog/83762

你可能感兴趣的文章
聊聊spring jdbc的RowMapper
查看>>
MySQL 8.0.12 --secure-file-priv 数据导出问题解决
查看>>
Android 官方兼容库 EmojiCompat Support Library
查看>>
阿里微服务架构师随手笔记:教你如何手写Docker
查看>>
实现无侵入切换网络请求框架
查看>>
python异步asyncio模块的使用
查看>>
Java基础笔记08
查看>>
python爬虫常用库之BeautifulSoup详解
查看>>
深度学习入门笔记之——基于 tensorflow 的回归代码实现
查看>>
基于Java语言构建区块链(一)—— 基本原型
查看>>
iOS 推送及bundle ID provision生成教程
查看>>
xcode select 切换xcode无效
查看>>
swiper实现菜单滑动效果
查看>>
微信开始给中英文之间加空格了,用 JS 和 Golang 来实现它!
查看>>
post请求带来的option
查看>>
vue-cli 实战总结
查看>>
Python学习之路19-设置应用程序的样式并对其进行部署
查看>>
Python学习之路31-继承的利弊
查看>>
10行代码实现页面无限滚动
查看>>
3D Touch 简单应用
查看>>