Linux 基于组设置区域设置

Linux 基于组设置区域设置,linux,Linux,有人知道是否可以(如果可以,如何)为用户组设置特定的语言环境吗 这感觉应该是可能的,并且在我们的情况下会有用处,我们有不同国籍的不同团队访问我们的系统,但谷歌没有提供有用的链接(可能只是缺少咖啡)。有人这样做吗?Hmm。由于来自不同组的许多用户(其中一些共享他们的主组)使用相同的全局shell RC文件,每个组由用户GID标识,并且每个用户都有一个GID,那么我只需根据读取bashrc/bash_配置文件的用户的$(id-g)设置区域设置变量LC_*(LC_ALL,LC_MESSAGES等) #

有人知道是否可以(如果可以,如何)为用户组设置特定的语言环境吗


这感觉应该是可能的,并且在我们的情况下会有用处,我们有不同国籍的不同团队访问我们的系统,但谷歌没有提供有用的链接(可能只是缺少咖啡)。有人这样做吗?

Hmm。由于来自不同组的许多用户(其中一些共享他们的主组)使用相同的全局shell RC文件,每个组由用户GID标识,并且每个用户都有一个GID,那么我只需根据读取bashrc/bash_配置文件的用户的$(id-g)设置区域设置变量LC_*(LC_ALL,LC_MESSAGES等)

#group 50 is e.g. staff, so for staff group we want e.g. en_US locale, and so on..
if ( [ `id -g` -eq 50 ] ) ; then export LC_ALL_ ... ; elif .. ; else .. ; fi
还可以使用case/esac语法。
当然,您需要确保特定的区域设置已编译并准备好使用,并提供区域设置“C”作为安全故障切换默认值。

Hmm。由于来自不同组的许多用户(其中一些共享其主组)使用相同的全局shell RC文件,每个组由用户GID标识,并且每个用户都有一个GID,然后,我简单地根据读取bashrc/bash_概要文件的用户的$(id-g)设置语言环境变量LC_*(LC_ALL,LC_MESSAGES等)

#group 50 is e.g. staff, so for staff group we want e.g. en_US locale, and so on..
if ( [ `id -g` -eq 50 ] ) ; then export LC_ALL_ ... ; elif .. ; else .. ; fi
还可以使用case/esac语法。
当然,您需要确保特定的语言环境已编译并准备好使用,并提供语言环境“C”作为安全故障切换默认值。

新用户提示:如果您发现一些答案有帮助,您可能希望对其进行投票。别担心,当你收集更多的声望点数时,你将获得向下投票的特权:)是的,这在我们上面的例子中是可行的,但需要编辑所有用户。bashrc。这不是一个真正的问题,但我想知道是否有一些实用程序/可编辑文件能够在每个组(而不是每个用户)的全局范围内修复此问题。显然,如果您需要影响系统中所有用户的行为,则需要编辑所有用户bashrc(global/etc/bashrc)。这绝对不意味着你需要编辑每个人的~/.bashrc,拜托,这是Unix,伙计:)你也可以使用一些PAM_ENV模块来实现这一点。新用户提示:如果你发现一些答案很有用,你可能会想投票支持它。别担心,当你收集更多的声望点数时,你将获得向下投票的特权:)是的,这在我们上面的例子中是可行的,但需要编辑所有用户。bashrc。这不是一个真正的问题,但我想知道是否有一些实用程序/可编辑文件能够在每个组(而不是每个用户)的全局范围内修复此问题。显然,如果您需要影响系统中所有用户的行为,则需要编辑所有用户bashrc(global/etc/bashrc)。这绝对不意味着你需要编辑每个人的~/.bashrc,拜托,这是Unix,伙计:)你也可以使用一些PAM_ENV模块来实现这一点。