2010-02-23 52 views
0

我的應用程序現在已被封裝爲產品,該產品將與裝有Linux系統的PC一起銷售。我怎樣才能爲客戶創建一個新用戶,但是我希望將一個類似界面的應用程序綁定到用戶,所以當我的客戶通過終端登錄時,所選應用程序會自動運行,當連接結束時,應用程序將以相同方式退出。 我知道,也許這可以programmally ..但是... 你知道任何建議? thanx 所有讚賞...如何在將應用程序與終端連接時將應用程序綁定到用戶

回答

1

正如AProgrammer提到你可以運行你的應用程序爲用戶shell或配置文件,如本例

# ~/.profile: executed by the command interpreter for login shells. 
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login 
# exists. 
# see /usr/share/doc/bash/examples/startup-files for examples. 
# the files are located in the bash-doc package. 

# the default umask is set in /etc/profile; for setting the umask 
# for ssh logins, install and configure the libpam-umask package. 
#umask 022 

# if running bash 
if [ -n "$BASH_VERSION" ]; then 
    # include .bashrc if it exists 
    if [ -f "$HOME/.bashrc" ]; then 
    . "$HOME/.bashrc" 
    fi 
fi 

# set PATH so it includes user's private bin if it exists 
if [ -d "$HOME/bin" ] ; then 
    PATH="$HOME/bin:$PATH" 
fi 

# run you app here 
exec myapp 
0

如果你有你的應用程序由xinetd開始,那麼你可以讓它啓動連接。在斷開連接時,您的應用程序將發送一個SIGHUP,以便您可以捕捉並關閉。

+0

可以提供更詳細的信息? thx – 2010-02-23 08:34:06

+0

由'xinetd'啓動的程序將其stdin和stdout連接到網絡套接字,因此它們可以使用標準的C I/O函數與客戶端通信,而不必直接處理套接字。 – 2010-02-23 08:51:57

0

終端登錄執行的程序是由/ etc/passwd中的字段確定的用戶shell。您可以將程序作爲shell,或者安排程序由shell啓動腳本執行(〜/ .profile,〜/ .cshrc,取決於shell)。

+0

@AProgrammer你能給我一些例子。謝謝 – 2010-02-23 09:04:10

相關問題