[virtualbox]官方說明文件關於開機時自動啟動VM

參考網址:

https://docs.oracle.com/en/virtualization/virtualbox/6.1/admin/AdvancedTopics.html#autostart

https://www.virtualbox.org/svn/vbox/trunk/src/VBox/Installer/linux/vboxautostart-service.sh

 

https://github.com/gidcs/vboxautostart-service

發表於 軟體使用 | 發表迴響

[ubuntu]如何讓Linux作業系統自動登入桌面環境,而不需輸入帳號密碼?(含多種桌面)

參考網址:https://magiclen.org/linux-auto-login/

查看環境使用的顯示管理器

由於每種顯示管理器設定自動登入的方式並不太一樣,因此先確認自己的環境到底是使用哪個顯示管理器是很重要的。

在終端機中輸入以下指令:

file /etc/systemd/system/display-manager.service

透過以上指令,可以看到/etc/systemd/system/display-manager.service這個符號連結檔所連結的檔案路徑。

如上圖,可以看到目前這個環境使用的顯示管理器為「LightDM」。

設定自動登入

以下將為不同的顯示管理器提供設定自動登入的方式。

LightDM

LightDM是跨桌面環境,支援多種顯示技術且擁有高效能的顯示管理器。Ubuntu或是其衍生的Linux發行版主要都是用LightDM作為其預設的顯示管理器。

用文字編輯器編輯LightDM的設定檔/etc/lightdm/lightdm.conf。例如要用vim的話,執行以下指令:

sudo vim /etc/lightdm/lightdm.conf

[Seat:*]區塊中,將autologin-guest設定為false,將autologin-user設定為想要自動登入的使用者名稱,autologin-user-timeout則可以設定在登入畫面中經過多久時進行自動登入的動作,單位是秒,如果設為0,表示要直接進行自動登入。

完整的設定內容如下:


 
 
[Seat:*]
 
autologin-guest=false
 
autologin-user=magiclen
 
autologin-user-timeout=0

以上設定,可以讓LightDM在開機之後直接使用「magiclen」這個使用者來登入。

GDM

GDM是GNOME專案發展的跨桌面環境且支援X11和Wayland的顯示管理器。經常與以GTK+為基礎的桌面環境搭配使用。

用文字編輯器編輯GDM的設定檔/etc/gdm/custom.conf。例如要用vim的話,執行以下指令:

sudo vim /etc/gdm/custom.conf

[daemon]區塊中,將AutomaticLoginEnable設定為true,將AutomaticLogin設定為想要自動登入的使用者名稱。

完整的設定內容如下:


 
 
[daemon]
 
AutomaticLoginEnable=true
 
AutomaticLogin=magiclen

以上設定,可以讓GDM在開機之後直接使用「magiclen」這個使用者來登入。但如果是要像LightDM那樣,可以在登入畫面中設定經過多久時進行自動登入的動作,就不能用以上設定了。取而代之地,需在[daemon]區塊中,將TimedLoginEnable設定為true,將TimedLogin設定為想要自動登入的使用者名稱,TimedLoginDelay則可以設定在登入畫面中經過多久時進行自動登入的動作,單位是秒,如果設為0,表示要直接進行自動登入。

完整的設定內容如下:


 
 
[daemon]
 
TimedLoginEnable=true
 
TimedLogin=magiclen
 
TimedLoginDelay=0

SDDM

SDDM是以QT為基礎的跨桌面環境且支援X11和Wayland的顯示管理器。經常與以同樣以QT為基礎的桌面環境搭配使用。

用文字編輯器編輯SDDM的設定檔/etc/sddm.conf.d/autologin.conf。例如要用vim的話,執行以下指令:

sudo vim /etc/sddm.conf.d/autologin.conf

/etc/sddm.conf.d這個目錄可能會不存在,先用mkdir指令來建立一個新的即可。指令如下:

sudo mkdir /etc/sddm.conf.d

autologin.conf這個檔案的檔名可以自行決定。

先添加以下內容:


 
 
[Autologin]
 
User=

[Autologin]區塊中,將User設定為想要自動登入的使用者名稱。

至於延時自動登入的功能,SDDM並沒有提供的樣子。

完整的設定內容如下:


 
 
[Autologin]
 

User=magiclen

發表於 Linux系統 | 發表迴響

[ubuntu]只進文字模式

參考網址:http://abrazotech.blogspot.com/2018/07/ubuntu-1604.html


在Ubuntu 16.04 Desktop版本裝好後想要關閉圖形登入介面
若僅僅用只想要用文字模式,那就直接用下面指令後重開機:

    sudo systemctl set-default multi-user.target

若是希望又回到圖形模式,那就是下指令後重開機:

    sudo systemctl set-default graphical.target

https://www.itread01.com/content/1547063134.html
ubuntu 命令列模式和圖形介面切換
 

1、按ALT+CTRL+F1切換到字元介面(Linux實體機)

     如果是VMware虛擬機器安裝的Linux系統,則切換到字元介面的時候需要以下操作

     按下ALT+CTRL+SPACE(空格),ALT+CTRL不鬆開,再按F1。這樣就可以切換到字元介面了。


2、按ALT+CTRL+F7切換到圖形介面(Linux實體機)

     如果是VMware虛擬機器安裝的Linux系統,則切換到圖形介面的時候需要以下操作

     按下ALT+CTRL+SPACE(空格),ALT+CTRL不鬆開,再按F7。這樣就可以切換到圖形介面了。

    在Linux中一般有ALT+CTRL+F1—-F6為字元終端(字元介面),ALT+CTRL+F7為圖形介面。不同的發行版本可能有一些差別,但切換方法都是一樣的。可以自己試試就可以知道哪些是字元終端,哪些是圖形介面。


    如果想 Ubuntu 在每次啟動到 command prompt ,可以輸入以下指令:

   

$echo "false" | sudo tee /etc/X11/default-display-manager

    當下次開機時,就會以命令列模式啟動(text模式,字元介面登入),如果想變回圖形介面啟動(X windows啟動),可以輸入:

   

$echo "/usr/sbin/gdm" | sudo tee /etc/X11/default-display-manage
或 /usr/bin/sddm

如果在Ubuntn以命令列模式啟動,在字元終端想回到圖形介面的話只需以下命令:

    $startx

 

發表於 Linux系統 | 發表迴響

[Lubuntu]為 fcitx 新增大易輸入法

參考網址:不專業網管筆記

1.安裝套件

cmake
fcitx-libs-dev
fcitx-tools
fcitx-table


2.下載表格檔 source

https://github.com/fcitx/fcitx-table-dayi

 

下載 fcitx-table-dayi-master.zip 之後解壓縮,會產生 fcitx-table-dayi-master 資料夾,注意路徑最好不要有中文免得出問題


3.編譯並安裝

網站上有列出指令,不過似乎不完整且有點錯誤,以下是我用的指令


 

cd fcitx-table-dayi-master
mkdir build
cmake . -DCMAKE_INSTALL_PREFIX=/usr

 

接下來修改 tables/CMakeLists.txt ,在檔案開頭加入以下內容


 

set(TXT2MB
    txt2mb
  )

 

接著執行以下指令進行安裝


 

sudo make install


4.重新啟動 fcitx,應該就會出現大易輸入法了。

發表於 Linux系統 | 發表迴響

[Lubuntu]安裝及sport225移至VirtualBox虛擬機

參考網址:

sport主機原安裝的是台南縣的mini server系統(ubuntu 11.04)
至今仍很健康的run著,但是系統已經很舊了,還是得更新一下。
主機是HP ProLiant-DL380-G7 原本記憶體2G*2 硬碟 146G*4 raid後約400G

加裝了一顆600G的硬碟及8G記憶體,準備安裝Ubuntu 20.04
然而安裝Ubuntu 20.04後卻無法進入GUI界面,畫面死當。
後來找來Lubuntu 20.04就正常了

原本的田徑競賽系統是用php5.3.5+mysql建置,如果要搬到Ubuntu20.04恐得大費周章
於是想用VirtualBox架設一台虛擬機來存放這些舊資料

Lbuntu用fcitx當預設的輸入法
為 fcitx 新增大易輸入法
 

移機過程
 

原本的主機
root@leo-ProLiant-DL380-G7:~# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1            419157728 103330932 294534816  26% /
none                   2012240       636   2011604   1% /dev
none                   2021944         0   2021944   0% /dev/shm
none                   2021944        84   2021860   1% /var/run
none                   2021944         0   2021944   0% /var/lock
/dev/sdb1            576830044  14982552 532546140   3% /rsync

先將原本的資料備份到/rsync/bk_225
/var/lib/mysql
tar cvf 225_mysql.tar mysql

/var
tar xvf 225_www.tar www

新系統建置完成後將/rsync/bk_225資料夾上傳到/home/sa/
解開後去除掉與新系統重疊的檔案
再把/home/sa/bk_225下的mysql及www 分別複製到/var/lib/msyql/ , /var

虛擬主機
root@sa-VirtualBox:/var/www# df
檔案系統           1K-區段      已用     可用 已用% 掛載點
/dev/sda1            150690028  36314140 106721284  26% /
none                   1798308       628   1797680   1% /dev
none                   1806668         0   1806668   0% /dev/shm
none                   1806668        84   1806584   1% /var/run
none                   1806668         0   1806668   0% /var/lock

chmod 755 /var/www -R

更改網頁權限ch.sh(適用sport96以後的資料夾)
#!/bin/sh
cd $1
cd include
chown 33:33 config.php
cd ..
chmod 777 templates_c -R
chmod 777 photo -R

 

發表於 Linux系統 | 發表迴響

[python]下載YouTube影片模組更新

參考網址:python黑洞網

執行以下程式時會出現錯誤
from pytube import YouTube

yt = YouTube('https://www.youtube.com/watch?v=27ob2G3GUCQ')
& C:/ProgramData/Anaconda3/python.exe d:/as/python/book/ch08/pytube1.py
Traceback (most recent call last):
  File "d:/as/python/book/ch08/pytube1.py", line 3, in <module>
    yt = YouTube('https://www.youtube.com/watch?v=27ob2G3GUCQ')
  File "C:\ProgramData\Anaconda3\lib\site-packages\pytube\__main__.py", line 102, in __init__
    self.prefetch()
  File "C:\ProgramData\Anaconda3\lib\site-packages\pytube\__main__.py", line 196, in prefetch
    self.vid_info_raw = request.get(self.vid_info_url)
  File "C:\ProgramData\Anaconda3\lib\site-packages\pytube\request.py", line 42, in get
    return _execute_request(url, headers=extra_headers).read().decode("utf-8")

 

原因是pytube的版本太老舊了

解決方法
 

進cmd安裝git
conda install git

pip uninstall pytube3
pip install git+https://github.com/nficano/pytube

 

安裝完新的pytube版本,打包的exe檔執行時會出現以下錯誤
Traceback (most recent call last):
  File "tkdownload.py", line 27, in <module>
ModuleNotFoundError: No module named 'pytube'
[1172] Failed to execute script tkdownload

google了一下在這篇文章中可以找到答案
https://yunchipang.github.io/create-exe-from-python-script-using-pyinstaller.html

文中提及
「因為第一次打包時error msg有提醒我我需要cmath這個module,所以在hiddenimports的部分有特別加上。」

將hiddenimports=[‘pytube’]加入tkdownload.spec
再做一次pyinstaller -F tkdownload.spec打包出來的exe就可以正常執行了

發表於 程式設計 | 發表迴響

[ubuntu]20.04讓root可以登入桌面

參考網址:CSDN

step1 修改root密码

使用普通账户登录系统,修改root密码

sudo passwd root

step2 修改lightdm配置

sudo vi /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf

增加两行配置

greeter-show-manual-login=true
all-guest=false 

 

step3


1. 修改 /etc/pam.d/gdm-autologin
sudo vi /etc/pam.d/gdm-autologin

注释掉auth required pam_succeed_if.so user != root quiet_success这一行(第三行左右)
 

2. 修改/etc/pam.d/gdm-password
sudo vi /etc/pam.d/gdm-password

注释掉 auth required pam_succeed_if.so user != root quiet_success这一行(第三行左右)

 

step4 修改/root/.profile文件

sudo vi /root/.profile

将文件末尾的 mesg n 2> /dev/null || true 这一行注释掉增加一行 tty -s&&mesg n || true

發表於 Linux系統 | 發表迴響

[VirtualBox]Ubuntu 開機自動啟動VirtualBox

參考網址:https://www.itread01.com/content/1548466591.html

第一種:使用 VRDP 方式通過命令列啟動虛擬機器:
 

VBoxManage startvm U1104

 

第二種 :使用 Headless 啟動無前端圖形介面方式:
 

VBoxHeadless -startvm "U1104"

 

從命令列關閉虛擬機器
 

VBoxManage controlvm U1104 poweroff

 

要在開機時就啟動VirtualBox,必需用無前端圖形介面的方式
把VBoxHeadless -startvm "U1104" 寫入/etc/rc.local
 

#!/bin/sh
#/bin/VBoxManage startvm U1104-mini > /var/log/vbox.log
date > /var/log/vbox.log
/bin/VBoxHeadless -startvm "U1104" &
#sleep 10s
wait
ps aux | grep box >> /var/log/vbox.log
echo "看到这行字,说明添加自启动脚本成功。" >> /var/log/vbox.log

#vbox list
#VBoxManage list runningvms

#vbox poweroff
#VBoxManage controlvm U1104 poweroff

exit 0

 

如果出現

WARNING: The character device /dev/vboxdrv does not exist. Please install the virtualbox-dkms package and the appropriate headers, most likely linux-headers-generic.

You will not be able to start VMs until this problem is fixed.

請參考StackOverFlow
 

sudo apt-get install virtualbox-dkms

#Once you install those packages you also need to do the reconfiguration:
sudo dpkg-reconfigure virtualbox-dkms 
sudo dpkg-reconfigure virtualbox

#If your problem is still not fixed try installing the headers:
sudo apt-get install linux-headers-generic

 

另一種方式
在/etc/init.d 中建立 vm-start
 

#!/bin/bash
/bin/sleep 1
/bin/su root -c "/usr/bin/vboxmanage startvm U1104 --type headless"
/bin/sleep 1

chmod +x /etc/init.d/vm-start

在/etc/rc.local中新增
 

#!/bin/sh
#/bin/VBoxManage startvm U1104 > /var/log/vbox.log
date > /var/log/vbox.log
/etc/init.d/vm-start
#/bin/VBoxHeadless -startvm "U1104"
#/bin/VBoxHeadless -startvm "U1104" &
sleep 10s
#wait
ps aux | grep box >> /var/log/vbox.log
echo "看到这行字,说明添加自启动脚本成功。" >> /var/log/vbox.log
 
#vbox list
#VBoxManage list runningvms
 
#vbox poweroff
#VBoxManage controlvm U1104 poweroff
 
exit 0

 

發表於 Linux系統, 軟體使用 | 發表迴響

[docker]安裝舊版ubuntu

參考網址:

hub.docker.com/explore
mattrayner/lamp:latest-1404

docker 資料放在
/var/lib/docker/volumes

docker run -p "80:80" -itd mattrayner/lamp:latest-1404

docker run -p "80:80" --name lamp -v /lamp/www:/var/www -v /lamp/mysql:/var/lib/mysql -v /lamp/app:/app -itd mattrayner/lamp:latest-1404

docker pull ubuntu:12.04.5
docker run -p "80:80" -itd ubuntu:12.04.5

 

用docker似乎很麻煩,或許對它還不熟悉。
想想是否有其它的方法?
後來想到如果用VirtualBox架虛擬機會不會比較容易
嘗試後覺得效果還不錯

發表於 Linux系統 | 發表迴響

[ubuntu]過期的UBUNTU怎麼更新軟件包

參考網址:https://www.bbsmax.com/A/q4zVOnGJKr/

  • 使用old-releases仓库替换main/security仓库,就像下面这样。

 
  1. sudo sed -i -r 's/([a-z]{2}\.)?archive.ubuntu.com/old-releases.ubuntu.com/g'/etc/apt/sources.list
  2. sudo sed -i -r 's/security.ubuntu.com/old-releases.ubuntu.com/g'/etc/apt/sources.list

     

    sudo sed -i -r 's/([a-z]{2}\.)?archive.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list
    sudo sed -i -r 's/security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list
  • 使用文本编辑器打开/etc/apt/sources.list,并查找extras.ubuntu.com。该仓库也不再支持Ubuntu 13.04了,所以你需要使用“#”号将extras.ubuntu.com注释掉。

 
  1. #deb http://extras.ubuntu.com/ubuntu raring main
  2. #deb-src http://extras.ubuntu.com/ubuntu raring main
  • 现在,你应该可以在旧版不受支持的Ubuntu上安装或更新软件包了。
發表於 Linux系統 | 發表迴響