ubuntu20.04 从python3.8降到python3.6出现区域和语言(region & language)不能打开的情况

ubuntu20.04 从python3.8降到python3.6出现区域和语言(region & language)不能打开的情况,第1张

问题描述

提示:这里描述具体问题:ubuntu20.04安装了python3.8之后就不能用中英文切换了。
点击manage install language,没有反映。

点击商店中的中英切换图标也没有反映。

查了好久资料才反应过来,没有提示,没有反应,不知道错误在哪里。后来反应过来了,在ubuntu的系统里面所有的过程都会被记录下来,所以就想到去系统log里面找错误,果然在/var/log/syslog里面发现了问题,提示没有_gi模块,这让我想到了之前在修改python版本时遇到的一个问题就是不能打开terminal,详见:http://t.csdn.cn/U4xrC

根据之前的经验找到了问题。

原因分析:

提示:这里填写问题的分析:原因是python在启动之前会先启动shell脚本,在shell脚本中提示时python3,当前的python3指向python3.6,python3.6不能直接应用,所以提示不能找到_gi模块。


解决方案:

提示:这里填写该问题的具体解决方案:和之前一样找到python提示错误的文件,修改为python3.8即可解决。

提示是这句话,打开文件。

File "/usr/bin/gnome-language-selector", line 5, in 
sudo vim /usr/bin/gnome-language-selector

#! /usr/bin/python3

import gettext

from LanguageSelector.gtk.GtkLanguageSelector import GtkLanguageSelector
from gettext import gettext as _
from optparse import OptionParser
from gi.repository import Gtk, Gio
import sys

is_running = False

def on_activate (app, options):
    global is_running
    if is_running:
        for window in app.get_windows():
            if not window.is_active():
                window.present()
        return
    is_running = True
    instance = GtkLanguageSelector(datadir=options.datadir,
                                   options=options)
    app.add_window(instance.window_main)

if __name__ == "__main__":
    gettext.bindtextdomain("language-selector", "/usr/share/locale")
    gettext.textdomain("language-selector")

    parser = OptionParser()
    parser.add_option("-n", "--no-verify-installed-lang-support",
                      action="store_false", dest="verify_installed",
                      default=True,
                      help=_("don't verify installed language support"))
    parser.add_option("-d", "--datadir",
                      default="/usr/share/language-selector/",
                      help=_("alternative datadir"))
    (options, args) = parser.parse_args()

    app = Gtk.Application(application_id="com.ubuntu.GnomeLanguageSelector",
                          flags=Gio.ApplicationFlags.FLAGS_NONE)
    app.connect("activate", on_activate, options)
    app.run(None)

修改为

#! /usr/bin/python3.8

import gettext

from LanguageSelector.gtk.GtkLanguageSelector import GtkLanguageSelector
from gettext import gettext as _
from optparse import OptionParser
from gi.repository import Gtk, Gio
import sys

is_running = False

def on_activate (app, options):
    global is_running
    if is_running:
        for window in app.get_windows():
            if not window.is_active():
                window.present()
        return
    is_running = True
    instance = GtkLanguageSelector(datadir=options.datadir,
                                   options=options)
    app.add_window(instance.window_main)

if __name__ == "__main__":
    gettext.bindtextdomain("language-selector", "/usr/share/locale")
    gettext.textdomain("language-selector")

    parser = OptionParser()
    parser.add_option("-n", "--no-verify-installed-lang-support",
                      action="store_false", dest="verify_installed",
                      default=True,
                      help=_("don't verify installed language support"))
    parser.add_option("-d", "--datadir",
                      default="/usr/share/language-selector/",
                      help=_("alternative datadir"))
    (options, args) = parser.parse_args()

    app = Gtk.Application(application_id="com.ubuntu.GnomeLanguageSelector",
                          flags=Gio.ApplicationFlags.FLAGS_NONE)
    app.connect("activate", on_activate, options)
    app.run(None)
欢迎评论:

提示:欢迎大家在评论区讨论相关问题。
可以关注博主,我会持续更新工作中遇到的技术小砖头,供大家使用。
也可以在评论区告知好的小砖头或技术,我会收录。
还可以指出本博文错误,希望大家不吝赐教。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/869942.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存