Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bug#746415: gnome-terminal: will not start with non-utf-8 locale

1,255 views
Skip to first unread message

Felix C. Stegerman

unread,
Apr 29, 2014, 4:10:02 PM4/29/14
to
Package: gnome-terminal
Version: 3.12.0-2
Severity: important

Dear Maintainer,

After I updated gnome-terminal from 3.10.1-1 to 3.12.0-2, it refused
to start.

$ gnome-terminal
Error constructing proxy for org.gnome.Terminal:/org/gnome/Terminal/Factory0: Error calling StartServiceByName for org.gnome.Terminal: GDBus.Error:org.freedesktop.DBus.Error.Spawn.ChildExited: Process org.gnome.Terminal exited with status 1

$ /usr/lib/gnome-terminal/gnome-terminal-server
Non UTF-8 locale is not supported!

Even if this is the intended behaviour, silently breaking does not
seem very user-friendly. And I would certainly prefer to keep using
my non-utf-8 locale (because I have latin1-encoded filenames). At the
moment that means I have to use another terminal emulator.

Thanks.


- Felix

-- System Information:
Debian Release: jessie/sid
APT prefers testing-updates
APT policy: (500, 'testing-updates'), (500, 'unstable'), (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 3.13-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB, LC_CTYPE=en_GB (charmap=ISO-8859-1)
Shell: /bin/sh linked to /bin/dash

Versions of packages gnome-terminal depends on:
ii dconf-gsettings-backend [gsettings-backend] 0.20.0-2
ii gconf-service 3.2.6-2
ii gnome-terminal-data 3.12.0-2
ii gsettings-desktop-schemas 3.8.2-2
ii libatk1.0-0 2.12.0-1
ii libc6 2.18-5
ii libcairo-gobject2 1.12.16-2
ii libcairo2 1.12.16-2
ii libdconf1 0.20.0-2
ii libgconf-2-4 3.2.6-2
ii libgdk-pixbuf2.0-0 2.30.7-1
ii libglib2.0-0 2.40.0-3
ii libgtk-3-0 3.12.1-1
ii libnautilus-extension1a 3.8.2-2
ii libpango-1.0-0 1.36.3-1
ii libpangocairo-1.0-0 1.36.3-1
ii libuuid1 2.20.1-5.7
ii libvte-2.90-9 1:0.36.0-2
ii libx11-6 2:1.6.2-1

Versions of packages gnome-terminal recommends:
ii dbus-x11 1.8.0-3
ii gvfs 1.20.1-1+b1
ii yelp 3.12.0-1

gnome-terminal suggests no packages.

-- no debconf information


--
To UNSUBSCRIBE, email to debian-bugs-...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org

Eugen Dedu

unread,
Nov 29, 2018, 11:20:03 AM11/29/18
to
forcemerge 868461 746415
forcemerge 819510 746415
forcemerge 851281 746415
tags 746415 d-i
thanks

I have recently installed a debian system: I choose C locale at the
beginning of the installation, finish system installation, reboot and
log in gnome: I cannot start any terminal, since gnome-terminal, the
only terminal installed, refuses to start! (I had to enter a text
console and install xterm to allow me to have a working terminal in gnome.)

Starting gnome-terminal inside xterm shows the following error:
Error constructing proxy for
org.gnome.Terminal:/org/gnome/Terminal/Factory0: Error calling
StartServiceByName for org.gnome.Terminal: Timeout was reached

Note there is no error status (such as "exited with status 8").

By the way, uxterm too refuses to start when locale is C, and shows an
error about locale.

A workaround is dpkg-reconfigure locales and choose a UTF-8 locale, such
as en_US.UTF-8 (I do not remember if it needs also to be made the
default or not).

This bug affects current debian installations, hence the d-i tag.

--
Eugen

Stephen Samuel

unread,
Oct 27, 2019, 7:00:03 PM10/27/19
to
I've just had this problem -- updated to Mint 19.2 and found Gnome-terminal not starting.  I tracked that to gnome-terminal-server refusing to start because of a non-UTF locale.

I ended up commenting out these two lines in
samuel@hpre:~$ egrep 'LANG|LC[_=]' .??* 2> /dev/null
 . . . .
.profile:# export LANG=C
.profile:# export LC_ALL=C
. . . .
.bashrc:# export LANG=en
.bashrc:# export LC_ALL=en

Problem solved.
--
Stephen Samuel http://www.bcgreen.com  Software, like love,
778-861-7641                              grows when you give it away

graeme vetterlein

unread,
Jun 6, 2020, 9:10:03 AM6/6/20
to
Is this defect being addressed, It seems to have been important for 6 years?

I am just hitting it in Debian buster (gdm3, gnome3) . I cannot set
LANG=<something else> I must use LANG=C because it affects such things
as sort order and only the C local has the semantic I need.

$ dpkg -l gnome-terminal
Desired=Unknown/Install/Remove/Purge/Hold
|
Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version      Architecture Description
+++-==============-============-============-===================================
ii  gnome-terminal 3.30.2-2     amd64        GNOME terminal emulator
application

I actually hit a different (gnome-terminal) bug, but then hit this one
while debugging that:


$ env | grep LANG
LANGUAGE=en_GB:en
GDM_LANG=en_GB.UTF-8
LANG=en_GB.UTF-8



guest@real:~$ gnome-terminal
# watch_fast: "/org/gnome/desktop/interface/" (establishing: 0, active: 0)
# watch_fast: "/org/gnome/settings-daemon/peripherals/mouse/"
(establishing: 0, active: 0)
# watch_fast: "/org/gnome/desktop/sound/" (establishing: 0, active: 0)
# watch_fast: "/org/gnome/desktop/privacy/" (establishing: 0, active: 0)
# watch_fast: "/org/gnome/desktop/wm/preferences/" (establishing: 0,
active: 0)
# watch_fast: "/org/gnome/settings-daemon/plugins/xsettings/"
(establishing: 0, active: 0)
# watch_fast: "/org/gnome/desktop/a11y/" (establishing: 0, active: 0)
# watch_established: "/org/gnome/desktop/interface/" (establishing: 1)
# watch_established: "/org/gnome/settings-daemon/peripherals/mouse/"
(establishing: 1)
# watch_established: "/org/gnome/desktop/sound/" (establishing: 1)
# watch_established: "/org/gnome/desktop/privacy/" (establishing: 1)
# watch_established: "/org/gnome/desktop/wm/preferences/" (establishing: 1)
# watch_established: "/org/gnome/settings-daemon/plugins/xsettings/"
(establishing: 1)
# watch_established: "/org/gnome/desktop/a11y/" (establishing: 1)
# watch_fast: "/org/gnome/terminal/legacy/" (establishing: 0, active: 0)
# unwatch_fast: "/org/gnome/terminal/legacy/" (active: 0, establishing: 1)
# watch_established: "/org/gnome/terminal/legacy/" (establishing: 0)


... then terminal starts

root@real:~# cat /home/guest/set-C-locale
update-locale  LANG=C LANGUAGE

root@real:~# . /home/guest/set-C-locale

root@real:~# cat /etc/default/locale
#  File generated by update-locale
LANG=C
#LANGUAGE=en_GB:en


....logoff , logon again (gdm3 + gnome3)

$ env | grep LANG
LANGUAGE=en_GB:en
GDM_LANG=C
LANG=C
$ gnome-terminal
# watch_fast: "/org/gnome/desktop/interface/" (establishing: 0, active: 0)
# watch_fast: "/org/gnome/settings-daemon/peripherals/mouse/"
(establishing: 0, active: 0)
# watch_fast: "/org/gnome/desktop/sound/" (establishing: 0, active: 0)
# watch_fast: "/org/gnome/desktop/privacy/" (establishing: 0, active: 0)
# watch_fast: "/org/gnome/desktop/wm/preferences/" (establishing: 0,
active: 0)
# watch_fast: "/org/gnome/settings-daemon/plugins/xsettings/"
(establishing: 0, active: 0)
# watch_fast: "/org/gnome/desktop/a11y/" (establishing: 0, active: 0)
# watch_established: "/org/gnome/desktop/interface/" (establishing: 1)
# watch_established: "/org/gnome/settings-daemon/peripherals/mouse/"
(establishing: 1)
# watch_established: "/org/gnome/desktop/sound/" (establishing: 1)
# watch_established: "/org/gnome/desktop/privacy/" (establishing: 1)
# watch_established: "/org/gnome/desktop/wm/preferences/" (establishing: 1)
# watch_established: "/org/gnome/settings-daemon/plugins/xsettings/"
(establishing: 1)
# watch_established: "/org/gnome/desktop/a11y/" (establishing: 1)
# Error constructing proxy for
org.gnome.Terminal:/org/gnome/Terminal/Factory0: Error calling
StartServiceByName for org.gnome.Terminal: Timeout was reached
$

Setting LANG=C is required to work by various standards, many other
programs in order to get valid support data require to be run in C locale.

In my case I need emacs to be running under C locale ... so I cannot set
it later e.g. in .bashrc





--


Graeme

Vincent Lefevre

unread,
Jul 8, 2021, 5:50:03 AM7/8/21
to
On 2020-06-06 13:49:31 +0100, graeme vetterlein wrote:
> Is this defect being addressed, It seems to have been important for 6 years?

I cannot reproduce this bug, even after setting LC_ALL=C in
/etc/default/locale. And it is tagged fixed-upstream.

So, what's the status of this bug?

--
Vincent Lefèvre <vin...@vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)

graeme vetterlein

unread,
Jul 12, 2021, 2:30:03 PM7/12/21
to
Well I pretty much stopped using gnome-terminal (due to this bug) so
I've not been spotting changes.

The symptoms seem to be the same, I guess the root cause may be different.

$ gnome-terminal --version
# GNOME Terminal 3.30.2 using VTE 0.54.2 +GNUTLS


$ dpkg-query -l gnome-terminal
WARNING: terminal is not fully functional
-  (press RETURN)
Desired=Unknown/Install/Remove/Purge/Hold
|
Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend

|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version      Architecture Description
+++-==============-============-============-===================================

ii  gnome-terminal 3.30.2-2     amd64        GNOME terminal emulator
application


Behaviour seems similar to the original post :

$ env | grep LANG
LANG=C

(this is reduced from before)

$ id
uid=1001(guest) gid=1001(guest) groups=1001(guest)

(Just for MY reference, running these as guest)

$ gnome-terminal
# Error constructing proxy for
org.gnome.Terminal:/org/gnome/Terminal/Factory0: Error calling
StartServiceByName for org.gnome.Terminal: Timeout was reached
$


...only the debug is no longer appearing (I assume due to
https://gitlab.gnome.org/GNOME/gnome-terminal/-/issues/42 getting fixed? )


Following this I tried:

$ export LC_ALL=en_GB.utf8
graeme@real:~$ locale
LANG=en_GB.utf8
LANGUAGE=
LC_CTYPE="en_GB.utf8"
LC_NUMERIC="en_GB.utf8"
LC_TIME="en_GB.utf8"
LC_COLLATE="en_GB.utf8"
LC_MONETARY="en_GB.utf8"
LC_MESSAGES="en_GB.utf8"
LC_PAPER="en_GB.utf8"
LC_NAME="en_GB.utf8"
LC_ADDRESS="en_GB.utf8"
LC_TELEPHONE="en_GB.utf8"
LC_MEASUREMENT="en_GB.utf8"
LC_IDENTIFICATION="en_GB.utf8"
LC_ALL=en_GB.utf8

graeme@real:~$ gnome-terminal
# Error constructing proxy for
org.gnome.Terminal:/org/gnome/Terminal/Factory0: Error calling
StartServiceByName for org.gnome.Terminal: Timeout was reached

Previously I assume it worked with a UTF8 based locale (from the context)





--


Graeme

Vincent Lefevre

unread,
Jul 13, 2021, 5:00:03 AM7/13/21
to
On 2021-07-12 19:17:23 +0100, graeme vetterlein wrote:
> Well I pretty much stopped using gnome-terminal (due to this bug) so I've
> not been spotting changes.
>
> The symptoms seem to be the same, I guess the root cause may be different.
>
> $ gnome-terminal --version
> # GNOME Terminal 3.30.2 using VTE 0.54.2 +GNUTLS

Strange. I get the following:

# GNOME Terminal 3.38.3 using VTE 0.62.3 +BIDI +GNUTLS +ICU +SYSTEMD

And the package is gnome-terminal 3.38.3-1.

Vincent Lefevre

unread,
Jul 13, 2021, 5:10:03 AM7/13/21
to
Control: found -1 3.38.3-1
Control: tags -1 - fixed-upstream
Control: forwarded -1 https://gitlab.gnome.org/GNOME/gnome-terminal/-/issues/7472

(There's a patch, but until it is has been applied, this should *not* be
regarded as "fixed-upstream".)

On 2021-07-13 10:48:46 +0200, Vincent Lefevre wrote:
> Strange. I get the following:
>
> # GNOME Terminal 3.38.3 using VTE 0.62.3 +BIDI +GNUTLS +ICU +SYSTEMD
>
> And the package is gnome-terminal 3.38.3-1.

However, I can reproduce the bug with:

$ env -u LC_CTYPE LANG=C /usr/libexec/gnome-terminal-server
Non UTF-8 locale (ANSI_X3.4-1968) is not supported!

It seems that the fact that systemd was started with UTF-8 locales
mattered (even though I changed /etc/default/locale afterwards).

If the patch is not accepted, an alternate solution might be to
force C.UTF-8 locales somewhere in
"/usr/lib/systemd/user/gnome-terminal-server.service" and/or
"/usr/share/dbus-1/services/org.gnome.Terminal.service".
0 new messages