如何指定用户的emacs初始化文件以通过emacsclient加载?

| 题 如何指定用户的emacs初始化文件以通过emacsclient加载? emacsclient无法理解\'-u用户\',而\'-a ALTERNATE-EDITOR \'不允许我引用它并提供\'-u用户\'。 例如,运行:
/usr/bin/emacsclient -n -a \'/usr/bin/emacs -u <username>\' ~<username>/notes.txt
退货
/usr/bin/emacsclient: error executing alternate editor \"/usr/bin/emacs -u <username>\"
背景 我正在使用emacs 23.1.1版和emacsclient 23.1版。 emacs本身支持\'-u user \'加载指定用户的init文件。 我在别名文件中使用以下bash函数来调用emacs
# a wrapper is needed to sandwich multiple command line arguments in bash
# 2>/dev/null hides
#   \"emacsclient: can\'t find socket; have you started the server?\"
emacs_wrapper () {
  if [ 0 -eq $# ]
  then
    /usr/bin/emacsclient -n -a /usr/bin/emacs ~<username>/notes.txt 2>/dev/null &
  else
    /usr/bin/emacsclient -n -a /usr/bin/emacs $* 2>/dev/null &
  fi
}
alias x=\'emacs_wrapper\'
键入x,然后键入文件列表: 连接到现有的emacs服务器(如果正在运行),否则启动新的 作为后台进程执行 如果未提供文件,则打开文件列表或我的便笺文件 当我以自己的身份登录时,这非常有用。但是,许多生产环境要求我以生产用户身份登录。我已经将别名分隔为bash脚本,因此可以通过简单运行来获取别名和bash函数。
. ~<username>/alias.sh
不幸的是,这不会让我使用我的.emacs文件(〜<用户名> /。emacs):( 这个问题使我发疯。     
已邀请:
如果您不能在替代编辑器规范中包含命令行参数,则只需编写一个为您执行此操作的shell脚本,然后将其提供为替代编辑器参数即可。
#!/bin/sh
emacs -u (username) \"$@\"
    
服务器/客户端模型的要点是,您已有一个具有自己的配置集的Emacs,然后通过一个或多个客户端进行连接。 如果服务器已经配置为显示菜单栏(全局设置),并且客户端说不显示菜单栏,客户端应该怎么办?如果另一个客户表示要显示该怎么办? 如果要为Emacs使用不同的设置,请使用不同的emacs会话。     

要回复问题请先登录注册