UBUNTU 18.04开机自启动脚本实现--打开终端、执行命令及终端输入文字

article/2025/11/10 21:47:11

开机自启动

方法很多,测试了一下,在18.04中最方便的方法如下:

  1. 新建sh脚本
touch xxx.sh
gedit xxx.h

然后输入:

 #!/bin/bash## xxx.sh## 你的代码#exit 0

保存后退出,并在终端继续执行:

chmod a+x xxx.sh
  1. 通过“基于图形桌面的方法”添加开机自启动
    打开终端输入:
gnome-session-properties

打开图形界面,然后 点击添加输入
名称:自定义
命令:sh xxx.sh (注意路径或者bash xxx,sh)
注释:可不填

重启开机即可。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

关于sh脚本内容:

  • >>> 打开终端并执行命令
 gnome-terminal -- bash -c "你要执行的命令; 命令第二条;...;exec bash"
  • >>> 打开终端预输入文字但不执行
    这里用到expect,需要安装:

使用以下代码检测expect是否已经安装:
ls /usr/bin | grep expect
如果显示为空,则使用以下命令安装:
sudo apt-get install tcl tk expect

安装完成后打开终端构建一个expect 的脚本,后缀sh即可

touch myprompt.sh
gedit myprompt.sh

文件中输入如下代码:

#!/usr/bin/expect#trap sigwinch and pass it to the child we spawned
#this allows the gnome-terminal window to be resized
trap {
set rows [stty rows]
set cols [stty columns]
stty rows $rows columns $cols < $spawn_out(slave,name)
} WINCHset arg1 [lindex $argv 0]# Get a Bash shell
spawn -noecho bash# Wait for a prompt
expect "$ "# Type something
send $arg1# Hand over control to the user
interactexit

保存后退出(这里不记得是否需要输入 chmod a+x myprompt.sh了,下一步测试没成功再执行该语句)

打开之前的开机启动脚本xxx.sh
添加如下语句调用以上脚本程序实现与内核交互的文字预输入

 gnome-terminal -e "./myprompt.sh \"你要预先在终端输入的文字或命令\""

整个xxx.sh脚本中的代码如下:

 #!/bin/bash## xxx.sh#gnome-terminal -- bash -c "cd ./xxx/xxx(命令1); usrp_find_devices(命令2); exec bash"gnome-terminal -e "./myprompt.sh \"你要预先在终端输入的文字或命令\""exit 0

保存退出即可
以上代码的实现测试是否能用很简单,写完后保存,并终端输入

sh xxx.sh

看是否执行正确即可

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

这里我还没实现一个终端内执行完一个命令后实现预输入,所以我现选择打开两个窗口,为了美观,我将两个窗口并排,这里需要对第二个终端窗口实现一个位置的修改如下:

 #!/bin/bash## xxx.sh#gnome-terminal -- bash -c "cd ./xxx/xxx(命令1); usrp_find_devices(命令2); exec bash"gnome-terminal --geometry 80×24+885+107 -e "./myprompt.sh \"你要预先在终端输入的文字或命令\""exit 0

关于如何确定窗口位置80×24+885+107 。方法如下:
打开新终端,拖动至你想要放置的位置,然后输入

xwininfo

鼠标变为十字架,然后在当前终端窗口内任意地方单击鼠标
在这里插入图片描述
得到
请添加图片描述

最后一行的数据即为窗口的位置。

完事儿~

在这里插入图片描述

对了,还要记录一下,windows向日葵控制linux时候linux自动掉线的问题

参考:

https://blog.csdn.net/weixin_45085810/article/details/105574360

简单来说就是linux中打开向日葵打开终端,安装显示管理器,执行

sudo apt-get update
sudo apt-get upgrade
sudo install lightdm

重启Ubuntu系统即可远程成功


http://chatgpt.dhexx.cn/article/wvxl4ZEd.shtml

相关文章

Ubuntu终端打开文件及查看目录

方法/步骤 1 ctrlaltt&#xff0c;调出终端。------------ 要去某个目录&#xff0c;用cd 例如&#xff1a; cd /home/yang/下载/ 在视图中&#xff0c;后面还有一个文件夹&#xff0c;我记不住&#xff0c;就按tab键一下。就自动出来了。 如果该文件夹下东西比较多&#x…

解决Ubuntu新装系统终端打不开

一、问题说明 笔者新安装的虚拟机&#xff0c;操作系统为Ubuntu18.10&#xff0c;出现终端打不开的情况&#xff1a;应用–终端打不开&#xff0c;ctrlaltt没反应&#xff0c;进入文件管理器&#xff0c;右键–在终端中打开也没反应。 二、解决方法 进入设置&#xff0c;找到…

Ubuntu 打开多个终端

Ctrl Shift T,一个终端开启多个小终端 Ctrl Alt T 开启多个独立终端 Ctrl Shift 加号&#xff0c;放大终端字体 Ctrl 减号&#xff0c;缩小终端字体

ubuntu打开linux,ubuntu怎样打开终端(方法5种)

虽然这不是一编技术经验&#xff0c;但是想起来小编刚接触ubuntu的时候也不会打开终端&#xff0c;所以今天小编就给一些玩ubuntu的新手们&#xff0c;分享一下经验。 怎样打开终端 (方法1) 1 首先在桌面任意空白处&#xff0c;按CTRLALTT 2 这时就弹出终端窗口 (呵呵这招最好用…

Ubuntu20.04 终端打开不了的问题排查

Ubuntu20.04 终端打开不了的问题排查 今天用virtualbox安装了ubuntu20.04 问题&#xff1a;右键打开终端&#xff0c;怎么也打开不了&#xff01; 点了也没反应&#xff0c;或者鼠标转小圈圈&#xff0c;然后也没有反应… 解决方法&#xff1a; 1、Ctrl Alt F6 先切换到终…

ubuntu开机自动打开终端输入命令且执行命令

打开终端 输入 gedit ~/.bashrc打开 .bashrc文件 之后把要执行的命令写入文件末尾 保存退出 source ~/.bashrc更新文件 此时&#xff0c;打开终端后&#xff0c;就会自动执行命令 如果有sudo命令需要运行&#xff0c;则使用echo 输入密码。 比如&#xff1a;echo “passwor…

【Linux】ubuntu 20无法打开终端的解决方法

前因&#xff1a; 我在开发板Firefly上&#xff0c;用的是ubuntu操作系统&#xff0c;因其本身默认是英文输入法&#xff0c;没有中文输入法。所以&#xff0c;我安装了中文输入法&#xff0c;结果安装好了后&#xff0c;发现终端已经打不开了。。。。。。 无论是右键、单击程…

如何在Ubuntu中用终端打开pycharm

首先得知道你把pycharm放在哪个文件夹里了&#xff0c;我这里是直接在桌面创建了一个Application文件夹专门存放软件包&#xff0c;下载的pycharm包就存放在这里。 找到路径后进入bin文件夹&#xff0c;里面有一个pycharm.sh文件&#xff0c;你直接双击是没有用的&#xff0c;这…

ubuntu打开终端命令行的三种方法

一&#xff0c;简介 本文主要介绍&#xff0c;vmware虚拟机中打开终端命令行的方法&#xff0c;供参考。 二&#xff0c;操作方法 2.1 方法一&#xff1a;右键打开 2.2 点击开始按键&#xff1a; 2.3 使用快捷键“CTRLALTT” 三&#xff0c;总结 本文主要介绍3种打开终端命…

Ubuntu常用技巧:Ubuntu打开终端的3种方式

PS&#xff1a;大白将国内45家大厂的3500篇面经&#xff0c;整理成700页的《人工智能算法岗江湖武林秘籍》PDF文件&#xff0c;为大家求职、跳槽&#xff0c;提供一些帮助&#xff1a;查看下载 很多新手刚刚入门ubuntu的时候&#xff0c;不知道如何打开终端&#xff0c;博主刚开…

ubuntu/linux系统知识(10)ubuntu打开终端的n种方式你都会吗

&#x1f380; 关于博主&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f947; 作者简介&#xff1a; 热衷于知识探索和分享的技术博主。 &#x1f482; csdn主页:&#xff1a;【奇妙之二进制】 ✍️ 微信公众号&#xff1a;【Linux …

随机变量概率分布函数汇总-离散型分布+连续型分布

2018.08.18-更新 概率分布用以表达随机变量取值的概率规律&#xff0c;根据随机变量所属类型的不同&#xff0c;概率分布取不同的表现形式 离散型分布&#xff1a;二项分布、多项分布、伯努利分布、泊松分布 连续型分布&#xff1a;均匀分布、正态分布、指数分布、伽玛分布、…

stats | 概率分布与随机数生成(一)——离散型分布

随机变量的分布模式是统计模型的基础&#xff0c;R的基础包stats提供了许多关于概率分布的函数。本篇主要介绍离散型分布&#xff0c;包括两点分布、二项分布、帕斯卡分布、负二项分布、几何分布、超几何分布和泊松分布。 1 stats中关于概率分布的函数 stats工具包针对每种分布…

概率论 随机变量及常用6大分布整理

随机变量 随机变量定义&#xff1a; 样本空间为Ω&#xff0c;随机变量X表示样本空间Ω中的一个样本点&#xff08;样本空间和随机变量的关系类似于实数轴上的x轴和自变量x的区别&#xff09;。如随机抛掷一枚骰子&#xff0c;X就是表示骰子的点数。 分布函数 分布函数定义&…

随机变量分布和概率

N.1 随机变量分布 1&#xff09;正态分布(高斯分布&#xff0c;用的比较多) 这里句一个例子&#xff0c;小明有一枚筛子&#xff0c;但它不是六个面的&#xff0c;而是数不清多的面(即每一面都有个点对应点数)&#xff0c;但塞子的外形不均匀的&#xff0c;所以扔筛子有些点数的…

任意分布的随机数的产生方法

摘要&#xff1a; 随机数在实际运用中非常之多&#xff0c;如游戏设计&#xff0c;信号处理&#xff0c;通常我们很容易得到平均分布的随机数。但如何根据平均分布的随机数进而产生其它分布的随机数呢&#xff1f;本文提出了一种基于几何直观面积的方法&#xff0c;以正态分…

如何用均匀分布随机数生成正态分布随机数

文章目录 前言The Box–Muller transformThe Ziggurat algorithm(金字形神塔)附录&#xff1a;Inverse transform sampling直观解释 前言 在Monte Carlo模拟技术中&#xff0c;许多地方都需要用到符合标准正态分布(高斯)的随机数来设计采样方案&#xff0c;因此了解如何用均匀…

常见的概率分布并生成随机数

一、均匀分布&#xff08;Uniform Distribution&#xff09; 在相同长度间隔的分布概率是等可能的。 1.概率密度函数&#xff1a; 2.分布函数&#xff1a; 3.期望和方差&#xff1a; 4.生成随机数 import numpy as np #生成从0-1的均匀分布 np.random.rand(10)#生成十个均匀…

生成特定分布随机数的方法

生成随机数是程序设计里常见的需求。一般的编程语言都会自带一个随机数生成函数&#xff0c;用于生成服从均匀分布的随机数。不过有时需要生成服从其它分布的随机数&#xff0c;例如高斯分布或指数分布等。有些编程语言已经有比较完善的实现&#xff0c;例如Python的NumPy。这篇…

推导:通过均匀分布来产生任意分布随机数

最近想用C语言写一个产生服从指数分布的随机数的程序。从网上找了找&#xff0c;发现可以通过均匀分布来产生服从任意分布的随机数。然而&#xff0c;网上的推导不是很完善&#xff0c;我把自己的理解写在这里&#xff0c;有不严谨的地方请大家指正。 命题1&#xff1a;对一连续…