首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >agetty登录程序参数

agetty登录程序参数
EN

Unix & Linux用户
提问于 2016-11-10 00:36:35
回答 2查看 2K关注 0票数 3

这里的第一篇文章。我试图在CentOS 6计算机上运行一些测试,但是我的测试禁用了网络,所以我通过串口进行通信。

我创建了一个启动作业,该作业设置ttyS1,使其上有一个bash shell。我用:

代码语言:javascript
复制
/sbin/agetty -n -l /bin/bash ttyS1 115200 vt102

这是一个黑客,将/bin/bash作为登录程序运行。它可以工作,但是我想将--rcfile传递给/bin/bash (否则,我会得到一些不受欢迎的输出"bash: /root/..bashrc: Permission“,即使它是以root的形式运行)。

注意:使用的agetty版本既没有-版本也没有-登录选项。

EN

回答 2

Unix & Linux用户

发布于 2016-11-10 01:33:38

agetty期望为-l选项运行一个程序。您可以使该脚本(例如)成为Perl脚本,并使其提供参数,例如,调用此脚本myshell

代码语言:javascript
复制
#!/usr/bin/perl
exec 'bash --rcfile myprofile'

并在myshell命令中使用agetty的路径名。

我使用Perl是因为它不读取您的bash (或sh)配置文件。如果使用运行/bin/sh的脚本,它可以读取用户的.profile (这似乎与您的意图相反)。exec特性是以其他脚本语言(包括shbash)提供的。

票数 1
EN

Unix & Linux用户

发布于 2016-11-10 08:38:18

您可能会认为这太过分了,但是与其使用getty并在串行行上运行shell,不如尝试使用滑滑,。这将您的串口转换成一个网络接口,您可以使用ssh或其他方式同时连接多个登录,使用rsync发送文件等等,所有这些都具有可靠性和错误检测的优势。

假设您的内核支持它(通常是这种情况),它的设置和使用都很简单。最简单的方法是使用slattach命令,它通常在net-tools包中。在一台机器上发出命令

代码语言:javascript
复制
sudo slattach -p cslip -s 19200 /dev/ttyS0 &
sudo ifconfig sl0 192.168.1.2 pointopoint 192.168.1.3

其中,第一条命令指定波特率和串行设备,第二条命令提供该机器和另一台机器的IP地址。在另一端,给出相同的命令,交换两个IP地址。选择一组您尚未使用的地址。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/322201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档