Jump to...
redirecting...

Log for Ubuntu 台灣社群

/trace@licson_tracer_bot
/pops@licson_tracer_bot
/trace@licson_tracer_bot
請問如何用 .desktop 執行 .bash
[sticker](media:AAQEABPFS2swAARWze0O6729RNdGAAIC@telegram)
找到 The Exec key 然後實在不知道該用哪個和怎麼用。。。。
.bash 檔
應該是 bash shell script 吧?
[Desktop Entry] Version=1.0 Type=Application Terminal=false Icon=/PATH/ICON.png Name=NAME Exec=/PATH/NAME.bash
就用 Exec key 來指定執行的程式路徑啊 /usr/share/applications 應該有很多範例?
把必填的 key 填好就夠了
當然 .bash 檔本身也要有可執行 Unix 檔案權限
所以說我就是要執行這個 .bash 檔。。。key 該用哪個?
我記得linux的script通常是用.sh吧
然後第一行宣告用bash跑這樣
雖然linux好像根本不在意附檔名的
那我刪除 ".bash" 試試
把表格中必填的 key 填好,然後 Exec key 填入執行 .bash 檔的命令列
你確定指向到那個檔案就行了吧
不需要,跟副檔名無關 倒是可以執行 head -n1 <.bash file> 看看是不是真的是 bash script
head --lines=1 <.bash file>
怎麼說呢。。。。作者的 readme 寫了如果要執行程式就直接在 terminal 裡 ./NAME.bash 就可以了(不需要 su)
要不要直接給readme連結之類的...
感覺有點不清楚狀況
./<filename>.bash 代表說程式可能預期使用者的當前工作目錄在 .bash 檔案目錄
有連結當然最好
To run, double click on the desktop icon or cd <install dir> ./NAME.bash
但是並沒有 desktop icon
你在裝什麼...
所以可能需要先切換當前工作目錄再執行
另外命令列介面互動式的程式不能直接啟動,因為沒有有效的 control terminal 可以操作
按照他說的 double click on the desktop icon 說明是可以寫 .desktop 來啓動的
@kuishi914 好啦,先告訴我你在弄什麼東西好不
感覺這樣回答可以精準很多
應該不是你寫,而是它本來就有附?
好吧。。。keyboard mastering
我看看
你是下載哪一個?
覺得神奇,為什麼java不包成.jar要包成.run
這不是網址,你不要給我變藍色
那 Exec key 就要想辦法先切換目錄
UCC(ry
下載並安裝了這個 kbmaster-pre4_0.4.4-linux-x64-installer.run
.run 只是附了binary的shell script?
大概吧?
.run只是代表可以./filename.run吧
一樣要看開發者有沒有偵測
這是可做而未做
我在想為什麼作者不乾脆直接輸出成.jar就好,弄成這樣感覺自找麻煩
最好是開發者直接把桌面項目安裝到系統中啦,這樣直接搜尋就好了
Jar 中 Jar 好像挺複雜的?
其實很簡單的問題。。。有沒有辦法寫一箇 ".desktop" 執行 "./.bash"
要解決如何先切換目錄到 "./" 的問題
我覺得你把.bash裡面的內容複製出來比較快
可以試試看 bash -c "cd <install_dir> && ./.bash" 啦
不過不確定可以吃
java -cp . -Djava.library.path=lib/native -jar KeyboardingMaster.jar 其中lib/native和KeyboardingMaster.jar用絕對路徑提換掉應該就好了
但是我以前有用過 .desktop 是來啓動 .sh 的啊 .sh 不是也需要 ./.sh?
問題在於他script寫爛
不需要,只有不知道工作目錄在哪的 script 才需要這樣
或者有沒有辦法開機啟動這個 .bash。。。我想寫 .desktop 因為每次都要開一箇 terminal 還不能關掉很煩(會習慣性 Ctrl+C.....
開機自動啟動只要把 .desktop 搞定就好了
有更簡單的方法吧
infinity loop..........
在script第二行加上cd /installDir即可不是嗎?
首先你要知道installDir在哪
你應該要知道啦
我安裝到 /opt 中的所以寫 cd /opt/INSTALLDIR 就可以了?
應該是
bash 程式中本來就可以知道自己位於哪個目錄,所以根本不需要用依賴當前工作目錄的相對路徑表示法: https://github.com/Vdragon/Generic_Source_Code_Templates/blob/current/GNU%20Bourne-Again%20SHell(Bash)/Bash%20script.sh
遇到兵…
好像也是,不過反正目的達到就好了
很多時候最簡單解反而最實用阿w
這個嚴格來說是上游自己的問題,直接修上游的 code 然後加個 desktop entry 吧
#!/bin/bash if [ $(uname -m) == 'x86_64' ]; then # 64-bit stuff here JAVA=lib/java-linux-x64/bin/java else # 32-bit stuff here JAVA=lib/java-linux/bin/java fi $JAVA -cp . -Djava.library.path=lib/native -jar KeyboardingMaster.jar 然後 cd /DIR 加在哪?
if 前面?
#!/bin/bash cd /DIR if [ $(uname -m) == 'x86_64' ]; then # 64-bit stuff here JAVA=lib/java-linux-x64/bin/java else # 32-bit stuff here JAVA=lib/java-linux/bin/java fi $JAVA -cp . -Djava.library.path=lib/native -jar KeyboardingMaster.jar
已解除 @Ent3rpr1se 的封鎖
然後繼續用這個?
[Desktop Entry] Version=1.0 Type=Application Terminal=false Icon=/PATH/ICON.png Name=NAME Exec=/PATH/NAME.bash
應該可以
新增 @S_ean 、 @s8321414 為 admin
反正script修好桌面什麼的就沒差了
唉 @S_ean 你變管理了喔,豪厲害
系統訊息:已解除封鎖所有我不認識的帳號
啟動程式時發生錯誤。。。
在終端機底下執行 xdg-open <desktop entry file> 看看?
啊。。。。我是重新寫了一個 "run2.bash" 結果忘記 chmod +x............
總之成功了感謝諸位
諸位。。。
請問
[Desktop Entry] Version=1.0 Type=Application Terminal=false Icon=/opt/kbmaster-pre4_0.4.4/logo_256x256.png Name=Keyboarding Master Exec=/opt/kbmaster-pre4_0.4.4/run.bash
開不出來。。。。請問我到底是寫錯了
或者要什麼辦法檢查到底是因爲什麼原因開不出來
檢查辦法:睡一覺起來再說
為什麼一箇 .desktop 可以把人逼瘋啊
我什麼時候貢獻了什麼嗎 OAO
沒有,這也不是什麼獎品
貢獻了很多口水和鍵帽的壽命xDD
吉祥物??
機器人?
[photo](media:AgADBQADDakxG9rQ4QAB5O57BwpfCHf217EyAATlA5B2ISLocY-5AQABAg@telegram)
感覺對 Ubuntu 方面貢獻還沒有很多 XD
Android APP. 顯示順序怪怪的
沒在在乎這個啊
Terminal=true
這就是新聞 (誤
[sticker](media:AAQFABNRar8yAATmhg0ZONXhjFIFAAIC@telegram)
[sticker](media:AAQFABN5bb8yAARbjprkm92Yj7MDAAIC@telegram)
[photo](media:AgADBQAD7acxG1yhRQcCz-V4lqDFe42ivzIABcsZH6kyiurpDQIAAQI@telegram)
地方新電腦需要clean install
\debian/
\debian/
欸?XD
👍
怪怪噠 pppoeconf在debian testing居然不能自己開機撥號 太神奇惹傑克
有log嗎
我爬爬看
你是怎麼設開機自動連ppp的?
目前只能暫時把開機自動撥號寫在/etc/network/if-pre-up.d/裡面
如果是pppoeconf的話 它原本的開機自動撥號設定 是寫在/etc/network/interfaces裡面
設定好後它就會寫進去然後自動撥號
我的interfaces 檔,pppoe相關的 auto dsl-provider iface dsl-provider inet ppp pre-up /sbin/ifconfig eth0 up provider dsl-provider
你的應該是debian 8 網卡代號還沒改
debian 9網卡代號已經改成en什麼開頭的了
是啊
不對!我的是7.11 XD
哈哈哈更早了
夠用就懶得動它了
剛剛發現interfaces裡面pre-up的設定被改成ip link 網卡代號了 改成用ifconfig 網卡代號 up試試看
Systemd?
debian目前其實有很多網路的設定可以不靠systemd去啟動
當然要用systemd啟動也可以 只是多跑一個行程而已
pppoeconf原本的設定是把pon dsl-provider這個指令 寫在/etc/network/interfaces裡面 用pre-up這個參數去讓它做開機自動執行撥號
剛剛爬了一下log好像沒有發現奇怪的事情
悲劇 看起來好像只能靠if-pre-up.d來跑了
Systemd 還不是預設的 int system 嗎?
是 但是大部分的網路功能不一定是systemd再啟動的 如果有圖形界面裝network manager的話 那是systemd啟動沒錯 沒裝圖形界面的話有些就不一定是systemd啟動 像是iptables
iptables在debian的官方建議 是把iptables-restore的指令寫在/etc/network/if-pre-up.d裡面弄一個執行檔 讓iptables自己寫的規格在開機的時候 會自動執行restore讓規則導進去
印象中ubuntu的官方建議好像也是類似的方式 如果不用ufw的話
至於目前比較新的nftables 我在debian sid上面看到的是預設systemd啟動 不過如果要用/etc/network/if-pre-up.d去弄個執行檔啟動nftables也沒有問題 我測試過是可以動 完全不靠systemd
Debian 也改用 Network Manager 了啦
那應該是有裝桌面吧 XD 沒裝的也還是設在/etc/network/interfaces裡面
有裝桌面的都直接設定network manager 沒錯
server 也可以自己裝啊
如果/etc/network/interface 被軟體亂動,network manager會偵測不到interface,因為它會當作已經有其他軟體管裡他了…
之前被坑過
也是可以
沒錯 所以要用就不要混用 要馬network manager 要馬原本的interfaces設定
systemd下明明有networkd可以用XD
對啊,不要混用。要把network manager 砍掉
其實可以混用啦,只是要把不讓 NM 管理的網路界面設定為不管理
懶的多學一套 XD