最近在使用virtualbox發現在下載guest addition時,發現不管等多久下載進度卡在100%

螢幕截圖_20240815_144814.png

螢幕截圖_20240815_144952.png

那既然guest addition是個iso檔案,是不是可以下載ISO檔?

首先在虛擬機中打開這個網址(不是在實體機)

Screenshot 2024-08-15 at 14-55-19 Index of http __download.virtualbox.org_virtualbox.

找到你使用的virtualbox版本

(查看版本可以打開vitualbox→關於)

螢幕截圖_20240815_145637.png

螢幕截圖_20240815_145750.png

閱讀全文 »

安裝和啟用ssh

先依序輸入

1
sudo apt install openssh-client
1
sudo apt install openssh-server

廣告,請繼續閱讀
安裝後輸入以下指令,確保ssh已開啟

1
sudo systemctl status ssh

如果成功則輸出(不一定一樣只要看有沒有綠色圓圈)

1
2
3
4
5
6
7
8
9
10
11
12
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; preset: enabled)
Active: active (running) since Mon 2024-08-05 08:40:00 CST; 4 days ago
Docs: man:sshd(8)
man:sshd_config(5)
Main PID: 708 (sshd)
Tasks: 1 (limit: 9316)
Memory: 7.4M
CPU: 505ms
CGroup: /system.slice/ssh.service
└─708 "sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups"
底下略

按下Q離開

如果沒有成功輸入以下指令開啟ssh

閱讀全文 »

docker pull

1
docker pull mysql:latest
1
docker pull nextcloud

依序輸入指令

安裝mysql

注意指令中的password請改成你想要的密碼

1
docker run -p 3306:3306 --name mysql --restart="always" -v /usr/local/mysql/conf:/etc/mysql/conf.d -v /usr/local/mysql/logs:/logs -v /usr/local/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=password -d mysql
1
2
docker exec -it mysql mysql -u root -p
#Enter password: 輸入上面你所設定密碼

理論上輸入以下指令會輸出Query OK, 0 rows affected (X.XX sec)

如果報錯,可以試試跳過(不保證成功)

閱讀全文 »

目前選用的硬體

CPU:撿到的i7 4770

GPU:gt-1030

電供:不知名品牌400w

主機板:技嘉-1150-GA-H81M-DS2-H81

ram:三星ram ddr3 8G

7/31目前問題:

剛開機(還沒有畫面)就斷電然後就重開機

有時開機的狀態會比較久,但還是無法順利開機

結果誰知道試一試風扇開始全速運轉,嚇死我了

閱讀全文 »

這篇文章教你如何用scrcpy投影android手機畫面到電腦上!

無線連接adb

確保兩個設備都連上同一個網路

1.開發者選項

(不是每台手機都一樣,但步驟可以參考)

手機打開設定→關於手機→軟體版本號碼(點7次)

在設定中找到開發者選項

打開無線偵錯

同意開啟

按使用配對碼配對

閱讀全文 »

adb: unknown command pair解決

如果遇到這個問題,基本上是用apt來安裝adb,因為adb內有分兩個工具

SDK platform tools

ADB

如果是用apt安裝,預設是安裝sdk版本是28,而pair指令在v.30中才有,所以才會有這問題。

解決

請先解除安裝adb

解決方法很簡單,只需要安裝官網的adb

先下載adb

解壓到目錄(建議家目錄)

閱讀全文 »

本來一開始影片放在YT,可是突然被通知影片被下架了(違反條款?),所以只好把影片放在我的blog。

(放blog總不會出事吧?)

onedrive

https://1drv.ms/v/c/8bab85f3a629b96d/IQNMy8KABvjsRJJjhHI7ExQgAY5VuR4rTmUtJ7FrH6jIYw8

dropbox

https://www.dropbox.com/scl/fi/0dapznujexzoaic32iutn/finish.mp4?rlkey=bsv701irh23lcczp2josml45p&st=ff9q9xf4&dl=0

連結

Chrome:https://chromewebstore.google.com/detail/video-downloader-professi/elicpjhcidhpjomhibiffojpinpmmpil?hl=zh-TW

Firefox:https://addons.mozilla.org/zh-TW/firefox/addon/video-downloadhelper/

CoApp Installation:https://github.com/aclap-dev/video-downloadhelper/wiki/CoApp-Installation

閱讀全文 »

我雖然好不容易有了自己的blog,但是這個blog是基於NotionNext打造,blog底部會有powered by NotionNext的字體,我覺得很礙眼(我的blog居然可以通往別的網站
?),所以我教你如何移除。

github設定

打開你的github倉庫

打開

1
/themes/hexo/components/**Footer.js**

其中的hexo換成你設定的主題

螢幕截圖_20240724_221336.png

原本程式是

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import { siteConfig } from '@/lib/config'

const Footer = ({ title }) => {
const d = new Date()
const currentYear = d.getFullYear()
const since = siteConfig('SINCE')
const copyrightDate = parseInt(since) < currentYear ? since + '-' + currentYear : currentYear

return (
<footer
className='relative z-10 dark:bg-black flex-shrink-0 bg-hexo-light-gray justify-center text-center m-auto w-full leading-6 text-gray-600 dark:text-gray-100 text-sm p-6'
>
{/* <DarkModeButton/> */}

<i className='fas fa-copyright' /> {`${copyrightDate}`} <span><i className='mx-1 animate-pulse fas fa-heart'/> <a href={siteConfig('LINK')} className='underline font-bold dark:text-gray-300 '>{siteConfig('AUTHOR')}</a>.<br/>

{siteConfig('BEI_AN') && <><i className='fas fa-shield-alt' /> <a href='https://beian.miit.gov.cn/' className='mr-2'>{siteConfig('BEI_AN')}</a><br/></>}

<span className='hidden busuanzi_container_site_pv'>
<i className='fas fa-eye'/><span className='px-1 busuanzi_value_site_pv'> </span> </span>
<span className='pl-2 hidden busuanzi_container_site_uv'>
<i className='fas fa-users'/> <span className='px-1 busuanzi_value_site_uv'> </span> </span>
<h1 className='text-xs pt-4 text-light-400 dark:text-gray-400'>{title} {siteConfig('BIO') && <>|</>} {siteConfig('BIO')}</h1>
<p className='text-xs pt-2 text-light-500 dark:text-gray-500'>Powered by <a href='https://github.com/tangly1024/NotionNext' className='dark:text-gray-300'>NotionNext {siteConfig('VERSION')}</a>.</p></span><br/>

</footer>
)
}

export default Footer

找到這行

閱讀全文 »

使用條件

電腦要裝以下軟體

1.python

2.pytube

將底下代碼貼到終端機

1
pip install pytube

程式主體

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#程式主體和錯誤修正是由我設計、解決,chatgpt負責加入功能
from pytube import YouTube
import ssl

from pytube.innertube import _default_clients
from pytube import cipher
import re
#400錯誤解決代碼 (https://github.com/pytube/pytube/issues/1973)
_default_clients["ANDROID"]["context"]["client"]["clientVersion"] = "19.08.35"
_default_clients["IOS"]["context"]["client"]["clientVersion"] = "19.08.35"
_default_clients["ANDROID_EMBED"]["context"]["client"]["clientVersion"] = "19.08.35"
_default_clients["IOS_EMBED"]["context"]["client"]["clientVersion"] = "19.08.35"
_default_clients["IOS_MUSIC"]["context"]["client"]["clientVersion"] = "6.41"
_default_clients["ANDROID_MUSIC"] = _default_clients["ANDROID_CREATOR"]

def get_throttling_function_name(js: str) -> str:
"""Extract the name of the function that computes the throttling parameter.

:param str js:
The contents of the base.js asset file.
:rtype: str
:returns:
The name of the function used to compute the throttling parameter.
"""
function_patterns = [
r'a\.[a-zA-Z]\s*&&\s*\([a-z]\s*=\s*a\.get\("n"\)\)\s*&&\s*'
r'\([a-z]\s*=\s*([a-zA-Z0-9$]+)(\[\d+\])?\([a-z]\)',
r'\([a-z]\s*=\s*([a-zA-Z0-9$]+)(\[\d+\])\([a-z]\)',
]
#logger.debug('Finding throttling function name')
for pattern in function_patterns:
regex = re.compile(pattern)
function_match = regex.search(js)
if function_match:
#logger.debug("finished regex search, matched: %s", pattern)
if len(function_match.groups()) == 1:
return function_match.group(1)
idx = function_match.group(2)
if idx:
idx = idx.strip("[]")
array = re.search(
r'var {nfunc}\s*=\s*(\[.+?\]);'.format(
nfunc=re.escape(function_match.group(1))),
js
)
if array:
array = array.group(1).strip("[]").split(",")
array = [x.strip() for x in array]
return array[int(idx)]

raise RegexMatchError(
caller="get_throttling_function_name", pattern="multiple"
)

#ssl
cipher.get_throttling_function_name = get_throttling_function_name
ssl._create_default_https_context = ssl._create_stdlib_context
ssl._create_default_https_context = ssl._create_stdlib_context

yt_url = input("輸入網址: ")
name = input("輸入檔名: ")
file_type = input("輸入要下載 mp3 還是 mp4? ")
print("如果選擇mp3,畫質隨便填一個")
video_resolution = input("輸入畫質 (例如 1080p): ")
output_path = input("輸入下載路徑: ")

yt = YouTube(yt_url)

print("下載影片中")

if file_type == "mp4":
stream = yt.streams.filter(res=video_resolution, file_extension='mp4').first()
if stream:
stream.download(output_path=output_path, filename=f"{name}.mp4")
print("完成")
else:
print(f"沒有找到 {video_resolution} 的影片")
elif file_type == "mp3":
stream = yt.streams.filter(only_audio=True).first()
if stream:
stream.download(output_path=output_path, filename=f"{name}.mp3")
print("完成")
else:
print("未找到指定的mp3")
else:
print("無效的文件類型,請選擇 mp3 或 mp4")

可以從這下載.py檔

執行

閱讀全文 »

llama3開源模型教你不需要gpu在性能不好的電腦上搭建屬於自己的chatgpt!

你是否想要在你的電腦上搭建屬於你的AI對話模型,卻沒有GPU(獨顯),這篇文章將會教你如何用CPU跑ai模型

電腦條件

1.必須有8GB以上的ram

2.磁碟空間要6GB以上的空間

如果電腦符和條件就可以開始今天的教學!

Gpt4all(主程式)安裝

首先要打開這個網址

linux:可以用flatpak安裝

螢幕截圖_20240717_115252.png

閱讀全文 »
0%