Ubuntu系統設置開機自動運行程序
運行環境: ubuntu18.04、python3.6、tkinter
運行效果: 開機之後自動打開teminal並執行設定好的程序,進入系統後每次打開terminal都會執行一次設定的程序。
程序功能: 設置提醒,與鍵盤按鍵關聯,按任意鍵進行退出該腳本程序。
創建Python腳本:tkinter_time.py
'''
import time
count = 0
a = 30
while (count <= a):
count_now = a - count
print(count_now)
time.sleep(1)
count += 1
print("DONE")
'''
import tkinter
import time
import sys
count = 0
a = 120
def gettime():
global count, a
if count <= a:
count_now = a - count
# print(count_now)
# time.sleep(1)
count += 1
# time_local = time.strftime("%H:%M:%S")
# var.set(time_local) # 獲取當前時間
# print(count_now, count)
var.set(count_now)
root.after(1000,gettime) # 每隔1s調用函數 gettime 自身獲取時間
else:
sys.exit()
# 設置窗口屬性
root = tkinter.Tk()
root.title('河科大重點實驗室 提示')
# root.geometry('640x240')
tk_width = 640 # 窗口的寬度
tk_height = 300 # 窗口的長度
root.geometry(f'{tk_width}x{tk_height}+{500}+{300}') # 窗口的大小與位置
root.resizable(False, False) # 窗口大小不可變
var=tkinter.StringVar()
lb = tkinter.Label(root,textvariable=var,fg='blue',font=("黑體",30))
# lb.pack()
lb.place(relx=0.45, rely=0.05)
lb2 = tkinter.Label(root,text='請在虛擬機運行程序',\
bg='#d3fbfb',\
fg='red',\
font=('華文新魏',20),\
width=20,\
height=2)
# lb2.pack()
lb2.place(relx=0.2, rely=0.3)
lb3 = tkinter.Label(root,text='本系統未進行備份,爲保持系統穩定性,請在虛擬機中運行程序',\
bg='#d3fbfb',\
fg='red',\
font=('華文新魏',10),\
width=50,\
height=2)
# lb2.pack()
lb3.place(relx=0.15, rely=0.65)
lb4 = tkinter.Label(root,text='按任意鍵退出',\
bg='#d3fbfb',\
fg='red',\
font=('華文新魏',10),\
width=10,\
height=1)
# lb2.pack()
lb4.place(relx=0.4, rely=0.85)
gettime()
def func(event):
sys.exit()
#<Key> 響應所有的按鍵
root.bind("<Key>",func)
root.mainloop()
將tkinter_time.py
腳本放入一個固定的文件夾內,比如我選擇的~/Public
文件夾
接着執行如下操作步驟:
1、Ctrl+Alt+T打開命令行,輸入 gedit ~/.bashrc
(或者用vi等打開也可以),打開 .bashrc
文件後如下圖所示:
在.bashrc
文件裏面添加自己執行程序的命令。
python3 ~/Public/tkinter_time.py
保存後執行source ~/.bashrc
使環境變量起作用。
終端中輸入gnome-session-properties
打開Ubuntu
開機首選項管理,如圖所示
點擊上圖中的“添加”按鈕,如圖所示,在下圖中名稱和註釋隨便填寫,命令裏填寫:gnome-terminal
,點擊“添加”。
最後,如果開機不方便輸入密碼,比如使用工控機時,可以設置爲用戶自動登錄。
1、點擊Ubuntu最右上角的設置按鈕,點擊系統設置…,選擇用戶賬戶
2、點擊右上角“解鎖”按鈕,此處會彈窗要求輸入密碼,再打開自動登錄。
3、運行sudo reboot
進行重啓。