首页
壁纸
直播
留言板
更多
视频
统计
友情链接
实用工具
Search
1
给孙小姐的一封情书
111 阅读
2
armUbuntu | uboot常用指令
61 阅读
3
Linux | Linux通过stty命令操作串口设备(linux串口操作命令)
54 阅读
4
armUbuntu系统构建
53 阅读
5
编译 openwrt 及初始配置-及部分排错
50 阅读
取次花丛懒回顾
默认分类
C#
MySQL
LabVIEW
Java
Android
PHP
Python
handsome
相册
百度地图
嵌入式
嵌入式Ubuntu
linux
Unity
Golang
Rust
Search
标签搜索
C#
handsome
Git
动态壁纸
开源
Unity3d
Unity
csharp
魔傲手记
累计撰写
117
篇文章
累计收到
18
条评论
首页
栏目
取次花丛懒回顾
默认分类
C#
MySQL
LabVIEW
Java
Android
PHP
Python
handsome
相册
百度地图
嵌入式
嵌入式Ubuntu
linux
Unity
Golang
Rust
页面
壁纸
直播
留言板
视频
统计
友情链接
实用工具
搜索到
117
篇与
的结果
2023-09-19
Ubuntu 22.04.6 | QEMU KVM 安装 macOS虚拟机
参考https://github.com/kholia/OSX-KVM拷贝备份仓库https://gitee.com/y141111/OSX-KVM更新软件源sudo apt-get update环境要求A modern Linux distribution. E.g. Ubuntu 22.04 LTS 64-bit or later.QEMU >= 6.2.0A CPU with Intel VT-x / AMD SVM support is required (grep -e vmx -e svm /proc/cpuinfo)A CPU with SSE4.1 support is required for >= macOS SierraA CPU with AVX2 support is required for >= macOS Mojavepython3软连接到pythonsudo ln -s /usr/bin/python3.8 /usr/bin/python如果已存在则先删除在创建sudo rm /usr/bin/python安装需要的软件包安装 QEMU 和其他软件包。sudo apt-get install qemu uml-utilities virt-manager git \ wget libguestfs-tools p7zip-full make dmg2img tesseract-ocr \ tesseract-ocr-eng genisoimage -y克隆OSX-KVM代码(macOS运行的虚拟机)首先进入当前用户目录下cd ~然后克隆仓库代码国外(二选一)git clone --depth 1 --recursive https://github.com/y141111/OSX-KVM.git国内(二选一)git clone --depth 1 --recursive https://gitee.com/y141111/OSX-KVM.git进入克隆的代码目录cd OSX-KVM获取macOS安装包./fetch-macOS-v2.py将下载的dmg文件转换为img文件dmg2img -i BaseSystem.dmg BaseSystem.img创建将在其中安装 macOS 的虚拟硬盘映像。如果将 磁盘映像的名称 从 到其他内容,引导脚本 将需要更新以指向新的映像名称。mac_hdd_ng.imgqemu-img create -f qcow2 mac_hdd_ng.img 128G安装CLI 方法(主要)。只需运行脚本即可启动 安装过程。OpenCore-Boot.sh./OpenCore-Boot.sh注意:此脚本适用于所有最新的 macOS 版本。使用 macOS 安装程序中的工具进行分区,以及 格式化附加到 macOS 虚拟机的虚拟磁盘。Disk Utility继续,并安装 macOS 🙌提示:建议使用非 APFS 文件系统。(可选)将此macOS VM磁盘与libvirt(virt-manager / virsh stuff)一起使用。编辑macOS-libvirt-Catalina.xml文件并更改各种文件路径(在该文件中搜索CHANGEME字符串)sed "s/CHANGEME/$USER/g" macOS-libvirt-Catalina.xml > macOS.xml virt-xml-validate macOS.xml通过运行以下命令创建 VM。virsh --connect qemu:///system define macOS.xml如果需要,向 libvirt-qemu 用户授予必要的权限,sudo setfacl -m u:libvirt-qemu:rx /home/$USER sudo setfacl -R -m u:libvirt-qemu:rx /home/$USER/OSX-KVM启动virt-manager并启动macOS虚拟机。Headless macOS使用提供的 boot-macOS-headless.sh脚本。./boot-macOS-headless.shSetting Expectations RightNice job on setting up a Virtual Hackintoshsystem! Such a system can be used for a variety of purposes (e.g. software builds, testing, reversing work), and it may be all you need, along with some tweaks documented in this repository.However, such a system lacks graphical acceleration, a reliable sound sub-system, USB 3 functionality and other similar things. To enable these things, take a look at our notes. We would like to resume our testing and documentation work around this area. Please reach out to us if you are able to fund this area of work.It is possible to have 'beyond-native-apple-hw' performance but it does require work, patience, and a bit of luck (perhaps?).Post-InstallationSee networking notes on how to setup networking in your VM, outbound and also inbound for remote access to your VM via SSH, VNC, etc.To passthrough GPUs and other devices, see these notes.Need a different resolution? Check out the notes included in this repository.Trouble with iMessage? Check out the notes included in this repository.Highly recommended macOS tweaks - https://github.com/sickcodes/osx-optimizerIs This Legal?The "secret" Apple OSK string is widely available on the Internet. It is also included in a public court document available here. I am not a lawyer but it seems that Apple's attempt(s) to get the OSK string treated as a trade secret did not work out. Due to these reasons, the OSK string is freely included in this repository.Please review the 'Legality of Hackintoshing' documentation bits from Dortania's OpenCore Install Guide.Gabriel Somlo also has some thoughts on the legal aspects involved in running macOS under QEMU/KVM.You may also find this 'Announcing Amazon EC2 Mac instances for macOS' article interesting.Note: It is your responsibility to understand, and accept (or not accept) the Apple EULA.Note: This is not legal advice, so please make the proper assessments yourself and discuss with your lawyers if you have any concerns (Text credit: Dortania)MotivationMy aim is to enable macOS based educational tasks, builds + testing, kernel debugging, reversing, and macOS security research in an easy, reproducible manner without getting 'invested' in Apple's closed ecosystem (too heavily).These Virtual Hackintoshsystems are not intended to replace the genuine physical macOS systems.Personally speaking, this repository has been a way for me to 'exit' the Apple ecosystem. It has helped me to test and compare the interoperability of Canon CanoScan LiDE 120scanner, and Brother HL-2250DNlaser printer. And these devices now work decently enough on modern versions of Ubuntu (Yay for free software). Also, a long time back, I had to completely wipe my (then) brand new MacBook Pro (Retina, 15-inch, Late 2013)and install Xubuntu on it - as the OS X kernel kept crashing on it!Backstory: I was a (poor) student in Canada in a previous life and Apple made my work on cracking Apple Keychains a lot harder than it needed to be. This is how I got interested in Hackintosh systems.
2023年09月19日
20 阅读
0 评论
0 点赞
2020-12-14
Java_swing | JButton监听按钮点击事件
// 创建登录按钮 JButton loginButton = new JButton("login"); loginButton.setBounds(10, 80, 80, 25); // 添加按钮的点击事件监听器 loginButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // 获取到的事件源就是按钮本身 // JButton btn = (JButton) e.getSource(); System.out.println("按钮被点击"); } }); panel.add(loginButton);
2020年12月14日
12 阅读
0 评论
0 点赞
2020-12-14
Java_Swing
package com.okk.hextostring;/* * ┏┓ ┏┓ + + * ┏━┛┻━━━━━┛┻━┓ + + * ┃ ┃ + + + * ┃ ━ ┃ + + + + * ████━████ ┃ + + + * ┃ ┃ + + * ┃ ━┻ ┃ + * ┃ ┃ + * ┗━━┓ ┏━━┛ + * ┃ ┃ + + + + * ┃ ┃ + + + + + + + + * ┃ ┃ + Code is far away from bug with the animal protecting * ┃ ┃ + 神兽保佑,代码无bug * ┃ ┃ + @author shy @date:2020-12-12 15:43 * ┃ ┃ + + + + + + + + + + + + + + + + + + + + + + + + + + + + * ┃ ┗━━━━━━━━━┓ + * ┃ ┣━┓ + * ┃ ┏━┛ + + * ┗━┓ ┓ ┏━━┳ ┓ ┏━━┛ + + * ┃ ┫ ┫ ┃ ┫ ┫ + + * ┗━┻━┛ ┗━┻━┛ + */ import javax.swing.*; import java.awt.*; public class Main { /** * 创建并显示GUI。出于线程安全考虑, * 这个方法在事件调用线程中调用 */ public static void createAndShowGUI(){ //确保一个漂亮的外观风格 JFrame.setDefaultLookAndFeelDecorated(true); //创建及设置窗口 JFrame jFrame = new JFrame("test"); jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Setting the width and height of frame jFrame.setSize(350, 200); /* * 总结: * 1、单独使用setSize()时,是按照设置的大小显示的;此时不能使用pack(),否则按照pack()自动适配 * 2、单独使用pack()时,是按照组件的大小自动适配的 * 3、单独使用setPreferredSize()时,设置的大小无效,必须在后面添加pack()配合显示 * * pack() 调整此窗口的大小,以适合其子组件的首选大小和布局 * 就算JFrame用setSize来设定框体大小,用了pack()一样会改变成刚好能包含全部组件的框体。 * * 当使用setPreferredSize()时需要配合pack()显示,否则setPreferredSize()的设置效果不生效 * * */ // this.setSize(800, 600); /* * 总结: * 1、单独使用setSize()时,是按照设置的大小显示的;此时不能使用pack(),否则按照pack()自动适配 * 2、单独使用pack()时,是按照组件的大小自动适配的 * 3、单独使用setPreferredSize()时,设置的大小无效,必须在后面添加pack()配合显示 * * pack() 调整此窗口的大小,以适合其子组件的首选大小和布局 * 就算JFrame用setSize来设定框体大小,用了pack()一样会改变成刚好能包含全部组件的框体。 * * 当使用setPreferredSize()时需要配合pack()显示,否则setPreferredSize()的设置效果不生效 * * */ jFrame.setPreferredSize(new Dimension(800, 600)); // //添加helloworld标签 // JLabel label = new JLabel("HD"); // jFrame.getContentPane().add(label); /* 创建面板,这个类似于 HTML 的 div 标签 * 我们可以创建多个面板并在 JFrame 中指定位置 * 面板中我们可以添加文本字段,按钮及其他组件。 */ JPanel panel = new JPanel(); // 添加面板 jFrame.add(panel); /* * 调用用户定义的方法并添加组件到面板 */ placeComponents(panel); /** * JFrame.pack() * pack() 调整此窗口的大小,以适合其子组件的首选大小和布局 * 单独使用setSize()时,不能使用pack(),否则按照pack()自动适配 * * 单独使用pack()时,是按照组件的大小自动适配的 * * 单独使用setPreferredSize()时,设置的大小无效,必须在后面添加pack()配合显示,否则设置效果不生效 */ jFrame.pack(); //显示窗口 jFrame.setVisible(true); } private static void placeComponents(JPanel panel) { /* 布局部分我们这边不多做介绍 * 这边设置布局为 null */ panel.setLayout(null); // 创建 JLabel JLabel userLabel = new JLabel("User:"); /* 这个方法定义了组件的位置。 * setBounds(x, y, width, height) * x 和 y 指定左上角的新位置,由 width 和 height 指定新的大小。 */ userLabel.setBounds(10,20,80,25); panel.add(userLabel); /* * 创建文本域用于用户输入 */ JTextField userText = new JTextField(20); userText.setBounds(100,20,165,25); panel.add(userText); // 输入密码的文本域 JLabel passwordLabel = new JLabel("Password:"); passwordLabel.setBounds(10,50,80,25); panel.add(passwordLabel); /* *这个类似用于输入的文本域 * 但是输入的信息会以点号代替,用于包含密码的安全性 */ JPasswordField passwordText = new JPasswordField(20); passwordText.setBounds(100,50,165,25); panel.add(passwordText); // 创建登录按钮 JButton loginButton = new JButton("login"); loginButton.setBounds(10, 80, 80, 25); panel.add(loginButton); } public static void main(String[] args) { //显示GUi javax.swing.SwingUtilities.invokeLater(new Runnable() { @Override public void run() { createAndShowGUI(); } }); } }
2020年12月14日
9 阅读
0 评论
0 点赞
2020-12-09
Android-RadioButton || 设置button图片居中,
<RadioGroup android:id="@+id/rg_1" android:layout_width="match_parent" android:layout_height="60dp" android:orientation="horizontal"> <RadioButton android:id="@+id/btn_1" android:text="@string/form_map" android:checked="true" android:layout_width="0dp" android:layout_weight="1" android:layout_height="match_parent" android:button="@null" android:textSize="0sp" android:drawableTop="@drawable/radio_button"/>
2020年12月09日
5 阅读
0 评论
0 点赞
2020-12-09
Android-Activity || 隐藏状态栏、导航栏,解决触摸显示问题
Android 隐藏状态栏,导航栏,但是触碰屏幕会显示导航栏kotlin:window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN解决办法,想到两个(重写触摸事件,返回true||添加一个View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY)第二个解决办法window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN or View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
2020年12月09日
5 阅读
0 评论
0 点赞
1
...
16
17
18
...
24