Fwd: Thunar doesn't start from Chinese directory

Robert McQueen robert.mcqueen at collabora.co.uk
Tue May 23 11:34:07 PDT 2006


As an additional point as to how broken things are if you don't use
UTF-8 filenames, when I opened the tgz in file-roller on my en_GB.UTF-8
GNOME desktop, it appeared empty. It has no way of knowing what the
encoding of the filename is if it's not UTF-8 and it's not my current
locale, so it couldn't show any name at all.

Regards,
Rob

Robert McQueen wrote:
> The accepted approach by all Linux-based desktops now is to store all of
> the filenames on disk as UTF-8, because there really is no other sane
> option. Otherwise you have absolutely no chance of showing any
> international characters correctly if the user changes their locale,
> character set, or tries to share files with other users, or even runs ls
> in someone else's directory.
> 
> This just means that stuff that reads filenames off disk needs to check
> if it's valid UTF-8, and if not, attempt to convert it to UTF-8 before
> sending it up to any higher layers. Anything writing files should write
> UTF-8 filenames.
> 
> Regards,
> Rob
> 
> Xiong Jiang wrote:
>> You are right. The directory name is in zh_CN.GB2312 encoding. GB2312
>> is used very commonly for Chinese and a lot people still use it as it
>> is the easiest one to get XIM support. People are unlikely to be UTF-8
>> ready any time soon.
>>
>> So what's the possible fix? In Samba we set filesystem charset
>> parameters to make it work. Is there such option in Thunar?
>>
>> Thanks for pin it out,
>>
>> On 5/23/06, Robert McQueen <robert.mcqueen at collabora.co.uk> wrote:
>>> The bus daemon has disconnected you for sending an invalid message, and
>>> by default libdbus aborts your process when the bus connection is
>>> closed. Without looking closely at what you've done, my guess is that
>>> the filename is in some character set that's not UTF-8, so it's an
>>> invalid D-Bus string, and you've tried to send it over the bus without
>>> transcoding it to UTF-8.
>>>
>>> Regards,
>>> Rob
>>>
>>> Xiong Jiang wrote:
>>>> Hi there,
>>>>
>>>> I hit an issue that dbus shutdown while starting Thunar in a directory
>>>> name with Chinese. Unpack the attached cn.tgz you will see a directory
>>>> with Chinese in name. Could anyone gives it a try and see if it is a
>>>> known issue?
>>>>
>>>> I'd like to dig deeper but got too limited time to spare.
>>>>
>>>> Thanks,
>>>>
>>>> ---------- Forwarded message ----------
>>>> From: Benedikt Meurer <benedikt.meurer at unix-ag.uni-siegen.de>
>>>> Date: May 23, 2006 10:01 AM
>>>> Subject: Re: [Thunar-dev] Thunar doesn't start from Chinese directory
>>>> To: xfce file manager <thunar-dev at xfce.org>
>>>>
>>>>
>>>> Xiong Jiang wrote:
>>>>> it is attached as cn.tar. Just an empty directory with Chinese in
>>> name.
>>>> Seems to be a problem/bug in libdbus, which terminates the process. On
>>>> Linux, breaking on _exit(), the backtrace looks like this (somewhat
>>>> corrupted, but still identifies libdbus as the problem). I don't know
>>>> why libdbus cares for the current working directory.
>>>>
>>>> (gdb) b _exit
>>>> Function "_exit" not defined.
>>>> Make breakpoint pending on future shared library load? (y or [n]) y
>>>>
>>>> Breakpoint 1 (_exit) pending.
>>>> (gdb) r
>>>> Starting program: /usr/local/bin/Thunar
>>>> [Thread debugging using libthread_db enabled]
>>>> [New Thread -1219410240 (LWP 24352)]
>>>> Breakpoint 2 at 0xb75e05d4
>>>> Pending breakpoint "_exit" resolved
>>>> [New Thread -1229042768 (LWP 24357)]
>>>> [Switching to Thread -1219410240 (LWP 24352)]
>>>>
>>>> Breakpoint 2, 0xb75e05d4 in _exit () from /lib/tls/libc.so.6
>>>> (gdb) bt
>>>> #0  0xb75e05d4 in _exit () from /lib/tls/libc.so.6
>>>> #1  0xb7735bfd in dbus_shutdown () from /usr/lib/libdbus-1.so.2
>>>> #2  0xb7718bfa in dbus_connection_dispatch () from
>>> /usr/lib/libdbus-1.so.2
>>>> #3  0xb7743e0d in dbus_g_message_get_message ()
>>>>  from /usr/lib/libdbus-glib-1.so.2
>>>> #4  0xb76aa691 in IA__g_main_context_dispatch (context=0x81167a8)
>>>>   at gmain.c:1916
>>>> #5  0xb76ad9d7 in g_main_context_iterate (context=0x81167a8, block=1,
>>>>   dispatch=1, self=0x80e91d8) at gmain.c:2547
>>>> #6  0xb76adf28 in IA__g_main_loop_run (loop=0x80ec800) at gmain.c:2751
>>>> #7  0xb7c65261 in IA__gtk_main () at gtkmain.c:991
>>>> #8  0x0805e28d in main (argc=1, argv=0xbfc7aac4) at main.c:239
>>>>
>>>> You could try to build with --disable-dbus to verify that D-BUS is the
>>>> problem.
>>>>
>>>>> thanks
>>>> greets,
>>>> Benedikt
>>>> _______________________________________________
>>>> Thunar-dev mailing list
>>>> Thunar-dev at xfce.org
>>>> http://foo-projects.org/mailman/listinfo/thunar-dev
>>>>
>>>>
>>>>
>>> ------------------------------------------------------------------------
>>>> _______________________________________________
>>>> dbus mailing list
>>>> dbus at lists.freedesktop.org
>>>> http://lists.freedesktop.org/mailman/listinfo/dbus
>>>
> 
> 



More information about the dbus mailing list