linux系統是否開啟透明策略

2021-10-06 14:41:35 字數 2599 閱讀 9093

開篇:本著開源的精神,分享開源**之美。

本文開發環境的配置

所需檔案

優麒麟/uos 等deb系

中標麒麟等fedora系

qt的x11extras模組

建議安裝qtcreator工具獲得

qtcreator或者yum install qt5-qtx11extras-devel

libqtcore.so等qt基礎庫

同上yum install qt5-qtbase

xlib.h

apt install libx11-dev

yum install libx11-devel

gdk/gdk.h 或 gtk/gtk.h

apt install libgtk-3-dev

yum install gtk3-devel

透明策略一般是指視窗透明:即透過某乙個應用的窗體,可以看到後乙個窗體上的文字等資訊,或者可以看見桌面上的圖示等資訊。

以fedora的rpm系為例:在基於x window的linux系統上,預設是安裝了compiz這個軟體包,可以使用open-gl對工作空間進行渲染。也即,開啟這一效果是耗費cpu效能的。

1. linux shell命令(以fedora的mate系為例)

```shell

gsettings get org.mate.marco.general compositing-manager

# 結果為true表明已經開啟透明策略,false則表示不支援或者未開啟

```2. ubuntun系不太清楚

1.1 gdk/gtk api 原始碼檔案 composited.c

#include

#include

#include

intmain

(int argc,

char

* ar**)

1.2、對應的makefile.am檔案

cc = gcc

rm =

rm -f

# 指定預處理階段標頭檔案查詢目錄(gcc -i)

cppflags =

`pkg-config --cflags gtk+-3.0 gdk-3.0`

# 指定鏈結階段要鏈結的庫(gcc -l)

libs =

`pkg-config --libs gtk+-3.0 gdk-3.0`

# 原始碼檔案

src = composited.c

# 同名中間目標檔案 -> .c 替換為 .o

obj =

$(patsubst %.c,%.o,$(src)

)# 最終目標:同名二進位制檔案 -> 檔案去掉 .c 字尾

target =

$(patsubst %.c,%,$(src)

)# 指定最終要生成的所有目標檔案

all:$(target)

# 二進位制檔案依賴 .o 檔案

# $< 代指第乙個依賴,即 $(obj)

# $@ 代指目標檔案,即 $(target)

$(target)

:$(obj)

$(cc)

$< -o $@

$(libs)

#同名 .o 依靠 同名.c檔案來生成

# $< 代指第乙個依賴,即 同名 .c 檔案

%.o:%.c

$(cc)

-c $<

$(cppflags)

.phony:clean

# make clean 刪除 .o 和 二進位制檔案

clean:

$(rm)

$(obj)

$(target)

2.1 qt / x api 專案原始碼

#include

#include

#include

#include

#include

int main

(int argc,char* ar**)

2.2 專案pro檔案

#**中用到了qt的x11相關介面,所以需要新增x11extras模組

qt += widgets gui x11extras

config += c11 console

target = composited

dependpath +=

.includepath +=

.# 專案中用到了xlib的**,所以增加以下鏈結庫

libs += -lx11 -lxrandr

# input

sources += composited.cpp

3.純 x **

/* compile: gcc composited.c  -o composited -lx11

* **編寫與測試平台:中標兆芯b61(rpm系)

*/#include

#include

#include

int main

(int argc,char* ar**)

linux 檢測遠端埠是否開啟

常用telnet 110.101.101.101 80方式測試遠端主機埠是否開啟。方法1.nmap ip p port 測試埠 1.1 nmap ip 顯示全部開啟的埠 根據顯示close open確定埠是否開啟。方法2.nc v host port 埠未開啟返回狀態為非0 一 telnet 此法常...

linux 檢測遠端埠是否開啟

telnet host port 檢測指定埠是否通暢。escape character is 按鍵ctrl 退出此地。telnet quit connection closed.如果寫指令碼通過telnet檢查埠可以用下面的方法 144 nmap需要安裝 sudo apt install nmap ...

linux檢測遠端埠是否開啟

常用telnet ip port 方式 如telnet 172.17.193.18 5902 測試遠端主機埠是否開啟,或者用於測試當前環境與遠端主機的埠之間的防火牆開通與否。escape character is ctrl 退出此地。telnet quit connection closed.除te...