mirror of
https://github.com/LCTT/TranslateProject.git
synced 2025-02-06 23:50:16 +08:00
Merge remote-tracking branch 'LCTT/master'
This commit is contained in:
commit
2a2a89cee7
@ -0,0 +1,106 @@
|
||||
Logreduce:用 Python 和机器学习去除日志噪音
|
||||
======
|
||||
|
||||
> Logreduce 可以通过从大量日志数据中挑选出异常来节省调试时间。
|
||||
|
||||
![](https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/sound-radio-noise-communication.png?itok=KMNn9QrZ)
|
||||
|
||||
持续集成(CI)作业会生成大量数据。当一个作业失败时,弄清楚出了什么问题可能是一个繁琐的过程,它涉及到调查日志以发现根本原因 —— 这通常只能在全部的作业输出的一小部分中找到。为了更容易地将最相关的数据与其余数据分开,可以使用先前成功运行的作业结果来训练 [Logreduce][1] 机器学习模型,以从失败的运行日志中提取异常。
|
||||
|
||||
此方法也可以应用于其他用例,例如,从 [Journald][2] 或其他系统级的常规日志文件中提取异常。
|
||||
|
||||
### 使用机器学习来降低噪音
|
||||
|
||||
典型的日志文件包含许多标称事件(“基线”)以及与开发人员相关的一些例外事件。基线可能包含随机元素,例如难以检测和删除的时间戳或唯一标识符。要删除基线事件,我们可以使用 [k-最近邻模式识别算法][3](k-NN)。
|
||||
|
||||
![](https://opensource.com/sites/default/files/uploads/ml-generic-workflow.png)
|
||||
|
||||
日志事件必须转换为可用于 k-NN 回归的数值。使用通用特征提取工具 [HashingVectorizer][4] 可以将该过程应用于任何类型的日志。它散列每个单词并在稀疏矩阵中对每个事件进行编码。为了进一步减少搜索空间,这个标记化过程删除了已知的随机单词,例如日期或 IP 地址。
|
||||
|
||||
![](https://opensource.com/sites/default/files/uploads/hashing-vectorizer.png)
|
||||
|
||||
训练模型后,k-NN 搜索可以告诉我们每个新事件与基线的距离。
|
||||
|
||||
![](https://opensource.com/sites/default/files/uploads/kneighbors.png)
|
||||
|
||||
这个 [Jupyter 笔记本][5] 演示了该稀疏矩阵向量的处理和图形。
|
||||
|
||||
![](https://opensource.com/sites/default/files/uploads/anomaly-detection-with-scikit-learn.png)
|
||||
|
||||
### Logreduce 介绍
|
||||
|
||||
Logreduce Python 软件透明地实现了这个过程。Logreduce 的最初目标是使用构建数据库来协助分析 [Zuul CI][6] 作业的失败问题,现在它已集成到 [Software Factory 开发车间][7]的作业日志处理中。
|
||||
|
||||
最简单的是,Logreduce 会比较文件或目录并删除相似的行。Logreduce 为每个源文件构建模型,并使用以下语法输出距离高于定义阈值的任何目标行:`distance | filename:line-number: line-content`。
|
||||
|
||||
```
|
||||
$ logreduce diff /var/log/audit/audit.log.1 /var/log/audit/audit.log
|
||||
INFO logreduce.Classifier - Training took 21.982s at 0.364MB/s (1.314kl/s) (8.000 MB - 28.884 kilo-lines)
|
||||
0.244 | audit.log:19963: type=USER_AUTH acct="root" exe="/usr/bin/su" hostname=managesf.sftests.com
|
||||
INFO logreduce.Classifier - Testing took 18.297s at 0.306MB/s (1.094kl/s) (5.607 MB - 20.015 kilo-lines)
|
||||
99.99% reduction (from 20015 lines to 1
|
||||
|
||||
```
|
||||
|
||||
更高级的 Logreduce 用法可以离线训练模型以便重复使用。可以使用基线的许多变体来拟合 k-NN 搜索树。
|
||||
|
||||
```
|
||||
$ logreduce dir-train audit.clf /var/log/audit/audit.log.*
|
||||
INFO logreduce.Classifier - Training took 80.883s at 0.396MB/s (1.397kl/s) (32.001 MB - 112.977 kilo-lines)
|
||||
DEBUG logreduce.Classifier - audit.clf: written
|
||||
$ logreduce dir-run audit.clf /var/log/audit/audit.log
|
||||
```
|
||||
|
||||
Logreduce 还实现了接口,以发现 Journald 时间范围(天/周/月)和 Zuul CI 作业构建历史的基线。它还可以生成 HTML 报告,该报告在一个简单的界面中将在多个文件中发现的异常进行分组。
|
||||
|
||||
![](https://opensource.com/sites/default/files/uploads/html-report.png)
|
||||
|
||||
### 管理基线
|
||||
|
||||
使用 k-NN 回归进行异常检测的关键是拥有一个已知良好基线的数据库,该模型使用数据库来检测偏离太远的日志行。此方法依赖于包含所有标称事件的基线,因为基线中未找到的任何内容都将报告为异常。
|
||||
|
||||
CI 作业是 k-NN 回归的重要目标,因为作业的输出通常是确定性的,之前的运行结果可以自动用作基线。 Logreduce 具有 Zuul 作业角色,可以将其用作失败的作业发布任务的一部分,以便发布简明报告(而不是完整作业的日志)。只要可以提前构建基线,该原则就可以应用于其他情况。例如,标称系统的 [SoS 报告][8] 可用于查找缺陷部署中的问题。
|
||||
|
||||
![](https://opensource.com/sites/default/files/uploads/baselines.png)
|
||||
|
||||
### 异常分类服务
|
||||
|
||||
下一版本的 Logreduce 引入了一种服务器模式,可以将日志处理卸载到外部服务,在外部服务中可以进一步分析该报告。它还支持导入现有报告和请求以分析 Zuul 构建。这些服务以异步方式运行分析,并具有 Web 界面以调整分数并消除误报。
|
||||
|
||||
![](https://opensource.com/sites/default/files/uploads/classification-interface.png)
|
||||
|
||||
已审核的报告可以作为独立数据集存档,其中包含目标日志文件和记录在一个普通的 JSON 文件中的异常行的分数。
|
||||
|
||||
### 项目路线图
|
||||
|
||||
Logreduce 已经能有效使用,但是有很多机会来改进该工具。未来的计划包括:
|
||||
|
||||
* 策划在日志文件中发现的许多带注释的异常,并生成一个公共域数据集以进行进一步研究。日志文件中的异常检测是一个具有挑战性的主题,并且有一个用于测试新模型的通用数据集将有助于识别新的解决方案。
|
||||
* 重复使用带注释的异常模型来优化所报告的距离。例如,当用户通过将距离设置为零来将日志行标记为误报时,模型可能会降低未来报告中这些日志行的得分。
|
||||
* 对存档异常取指纹特征以检测新报告何时包含已知的异常。因此,该服务可以通知用户该作业遇到已知问题,而不是报告异常的内容。解决问题后,该服务可以自动重新启动该作业。
|
||||
* 支持更多基准发现接口,用于 SOS 报告、Jenkins 构建、Travis CI 等目标。
|
||||
|
||||
如果你有兴趣参与此项目,请通过 #log-classify Freenode IRC 频道与我们联系。欢迎反馈!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/18/9/quiet-log-noise-python-and-machine-learning
|
||||
|
||||
作者:[Tristan de Cacqueray][a]
|
||||
选题:[lujun9972](https://github.com/lujun9972)
|
||||
译者:[wxy](https://github.com/wxy)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/tristanc
|
||||
[1]: https://pypi.org/project/logreduce/
|
||||
[2]: http://man7.org/linux/man-pages/man8/systemd-journald.service.8.html
|
||||
[3]: https://en.wikipedia.org/wiki/K-nearest_neighbors_algorithm
|
||||
[4]: http://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.text.HashingVectorizer.html
|
||||
[5]: https://github.com/TristanCacqueray/anomaly-detection-workshop-opendev/blob/master/datasets/notebook/anomaly-detection-with-scikit-learn.ipynb
|
||||
[6]: https://zuul-ci.org
|
||||
[7]: https://www.softwarefactory-project.io
|
||||
[8]: https://sos.readthedocs.io/en/latest/
|
||||
[9]: https://www.openstack.org/summit/berlin-2018/summit-schedule/speakers/4307
|
||||
[10]: https://www.openstack.org/summit/berlin-2018/
|
@ -1,110 +0,0 @@
|
||||
Quiet log noise with Python and machine learning
|
||||
======
|
||||
|
||||
Logreduce saves debugging time by picking out anomalies from mountains of log data.
|
||||
|
||||
![](https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/sound-radio-noise-communication.png?itok=KMNn9QrZ)
|
||||
|
||||
Continuous integration (CI) jobs can generate massive volumes of data. When a job fails, figuring out what went wrong can be a tedious process that involves investigating logs to discover the root cause—which is often found in a fraction of the total job output. To make it easier to separate the most relevant data from the rest, the [Logreduce][1] machine learning model is trained using previous successful job runs to extract anomalies from failed runs' logs.
|
||||
|
||||
This principle can also be applied to other use cases, for example, extracting anomalies from [Journald][2] or other systemwide regular log files.
|
||||
|
||||
### Using machine learning to reduce noise
|
||||
|
||||
A typical log file contains many nominal events ("baselines") along with a few exceptions that are relevant to the developer. Baselines may contain random elements such as timestamps or unique identifiers that are difficult to detect and remove. To remove the baseline events, we can use a [k-nearest neighbors pattern recognition algorithm][3] (k-NN).
|
||||
|
||||
![](https://opensource.com/sites/default/files/uploads/ml-generic-workflow.png)
|
||||
|
||||
Log events must be converted to numeric values for k-NN regression. Using the generic feature extraction tool [HashingVectorizer][4] enables the process to be applied to any type of log. It hashes each word and encodes each event in a sparse matrix. To further reduce the search space, tokenization removes known random words, such as dates or IP addresses.
|
||||
|
||||
![](https://opensource.com/sites/default/files/uploads/hashing-vectorizer.png)
|
||||
|
||||
Once the model is trained, the k-NN search tells us the distance of each new event from the baseline.
|
||||
|
||||
![](https://opensource.com/sites/default/files/uploads/kneighbors.png)
|
||||
|
||||
This [Jupyter notebook][5] demonstrates the process and graphs the sparse matrix vectors.
|
||||
|
||||
![](https://opensource.com/sites/default/files/uploads/anomaly-detection-with-scikit-learn.png)
|
||||
|
||||
### Introducing Logreduce
|
||||
|
||||
The Logreduce Python software transparently implements this process. Logreduce's initial goal was to assist with [Zuul CI][6] job failure analyses using the build database, and it is now integrated into the [Software Factory][7] development forge's job logs process.
|
||||
|
||||
At its simplest, Logreduce compares files or directories and removes lines that are similar. Logreduce builds a model for each source file and outputs any of the target's lines whose distances are above a defined threshold by using the following syntax: **distance | filename:line-number: line-content**.
|
||||
|
||||
```
|
||||
$ logreduce diff /var/log/audit/audit.log.1 /var/log/audit/audit.log
|
||||
INFO logreduce.Classifier - Training took 21.982s at 0.364MB/s (1.314kl/s) (8.000 MB - 28.884 kilo-lines)
|
||||
0.244 | audit.log:19963: type=USER_AUTH acct="root" exe="/usr/bin/su" hostname=managesf.sftests.com
|
||||
INFO logreduce.Classifier - Testing took 18.297s at 0.306MB/s (1.094kl/s) (5.607 MB - 20.015 kilo-lines)
|
||||
99.99% reduction (from 20015 lines to 1
|
||||
|
||||
```
|
||||
|
||||
A more advanced Logreduce use can train a model offline to be reused. Many variants of the baselines can be used to fit the k-NN search tree.
|
||||
|
||||
```
|
||||
$ logreduce dir-train audit.clf /var/log/audit/audit.log.*
|
||||
INFO logreduce.Classifier - Training took 80.883s at 0.396MB/s (1.397kl/s) (32.001 MB - 112.977 kilo-lines)
|
||||
DEBUG logreduce.Classifier - audit.clf: written
|
||||
$ logreduce dir-run audit.clf /var/log/audit/audit.log
|
||||
```
|
||||
|
||||
Logreduce also implements interfaces to discover baselines for Journald time ranges (days/weeks/months) and Zuul CI job build histories. It can also generate HTML reports that group anomalies found in multiple files in a simple interface.
|
||||
|
||||
![](https://opensource.com/sites/default/files/uploads/html-report.png)
|
||||
|
||||
### Managing baselines
|
||||
|
||||
The key to using k-NN regression for anomaly detection is to have a database of known good baselines, which the model uses to detect lines that deviate too far. This method relies on the baselines containing all nominal events, as anything that isn't found in the baseline will be reported as anomalous.
|
||||
|
||||
CI jobs are great targets for k-NN regression because the job outputs are often deterministic and previous runs can be automatically used as baselines. Logreduce features Zuul job roles that can be used as part of a failed job post task in order to issue a concise report (instead of the full job's logs). This principle can be applied to other cases, as long as baselines can be constructed in advance. For example, a nominal system's [SoS report][8] can be used to find issues in a defective deployment.
|
||||
|
||||
![](https://opensource.com/sites/default/files/uploads/baselines.png)
|
||||
|
||||
### Anomaly classification service
|
||||
|
||||
The next version of Logreduce introduces a server mode to offload log processing to an external service where reports can be further analyzed. It also supports importing existing reports and requests to analyze a Zuul build. The services run analyses asynchronously and feature a web interface to adjust scores and remove false positives.
|
||||
|
||||
![](https://opensource.com/sites/default/files/uploads/classification-interface.png)
|
||||
|
||||
Reviewed reports can be archived as a standalone dataset with the target log files and the scores for anomalous lines recorded in a flat JSON file.
|
||||
|
||||
### Project roadmap
|
||||
|
||||
Logreduce is already being used effectively, but there are many opportunities for improving the tool. Plans for the future include:
|
||||
|
||||
* Curating many annotated anomalies found in log files and producing a public domain dataset to enable further research. Anomaly detection in log files is a challenging topic, and having a common dataset to test new models would help identify new solutions.
|
||||
* Reusing the annotated anomalies with the model to refine the distances reported. For example, when users mark lines as false positives by setting their distance to zero, the model could reduce the score of those lines in future reports.
|
||||
* Fingerprinting archived anomalies to detect when a new report contains an already known anomaly. Thus, instead of reporting the anomaly's content, the service could notify the user that the job hit a known issue. When the issue is fixed, the service could automatically restart the job.
|
||||
* Supporting more baseline discovery interfaces for targets such as SOS reports, Jenkins builds, Travis CI, and more.
|
||||
|
||||
|
||||
|
||||
If you are interested in getting involved in this project, please contact us on the **#log-classify** Freenode IRC channel. Feedback is always appreciated!
|
||||
|
||||
Tristan Cacqueray will present [Reduce your log noise using machine learning][9] at the [OpenStack Summit][10], November 13-15 in Berlin.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/18/9/quiet-log-noise-python-and-machine-learning
|
||||
|
||||
作者:[Tristan de Cacqueray][a]
|
||||
选题:[lujun9972](https://github.com/lujun9972)
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/tristanc
|
||||
[1]: https://pypi.org/project/logreduce/
|
||||
[2]: http://man7.org/linux/man-pages/man8/systemd-journald.service.8.html
|
||||
[3]: https://en.wikipedia.org/wiki/K-nearest_neighbors_algorithm
|
||||
[4]: http://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.text.HashingVectorizer.html
|
||||
[5]: https://github.com/TristanCacqueray/anomaly-detection-workshop-opendev/blob/master/datasets/notebook/anomaly-detection-with-scikit-learn.ipynb
|
||||
[6]: https://zuul-ci.org
|
||||
[7]: https://www.softwarefactory-project.io
|
||||
[8]: https://sos.readthedocs.io/en/latest/
|
||||
[9]: https://www.openstack.org/summit/berlin-2018/summit-schedule/speakers/4307
|
||||
[10]: https://www.openstack.org/summit/berlin-2018/
|
@ -1,88 +0,0 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (Blockchain 2.0 – An Introduction To Hyperledger Project (HLP) [Part 8])
|
||||
[#]: via: (https://www.ostechnix.com/blockchain-2-0-an-introduction-to-hyperledger-project-hlp/)
|
||||
[#]: author: (editor https://www.ostechnix.com/author/editor/)
|
||||
|
||||
Blockchain 2.0 – An Introduction To Hyperledger Project (HLP) [Part 8]
|
||||
======
|
||||
|
||||
![Introduction To Hyperledger Project][1]
|
||||
|
||||
Once a new technology platform reaches a threshold level of popularity in terms of active development and commercial interests, major global companies and smaller start-ups alike rush to catch a slice of the pie. **Linux** was one such platform back in the day. Once the ubiquity of its applications was realized individuals, firms, and institutions started displaying their interest in it and by 2000 the **Linux foundation** was formed.
|
||||
|
||||
The Linux foundation aims to standardize and develop Linux as a platform by sponsoring their development team. The Linux Foundation is a non-profit organization that is supported by software and IT behemoths such as Microsoft, Oracle, Samsung, Cisco, IBM, Intel among others[1]. This is excluding the hundreds of individual developers who offer their services for the betterment of the platform. Over the years the Linux foundation has taken many projects under its roof. The **Hyperledger Project** is their fastest growing one till date.
|
||||
|
||||
Such consortium led development have a lot of advantages when it comes to furthering tech into usable useful forms. Developing the standards, libraries and all the back-end protocols for large scale projects are expensive and resource intensive without a shred of income generating from it. Hence, it makes sense for companies to pool in their resources to develop the common “boring” parts by supporting such organizations and later upon completing work on these standard parts to simply plug & play and customize their products afterwards. Apart from the economics of the model, such collaborative efforts also yield standards allowing for easier use and integration into aspiring products and services.
|
||||
|
||||
Other major innovations that were once or are currently being developed following the said consortium model include standards for WiFi (The Wi-Fi alliance), Mobile Telephony etc.
|
||||
|
||||
### Introduction to Hyperledger Project (HLP)
|
||||
|
||||
The Hyperledger project was launched in December 2015 by the Linux foundation as is currently among the fastest growing project they’ve incubated. It’s an umbrella organization for collaborative efforts into developing and advancing tools & standards for [**blockchain**][2] based distributed ledger technologies(DLT). Major industry players supporting the project include **IBM** , **Intel** and **SAP Ariba** among [**others**][3]. The HLP aims to create frameworks for individuals and companies to create shared as well as closed blockchains as required to further their own requirements. The design principles include a strong tilt toward developing a globally deployable, scalable, robust platform with a focus on privacy, and future auditability[2]. It is also important to note that most of the blockchains proposed and the frame.
|
||||
|
||||
### Development goals and structure: Making it plug & play
|
||||
|
||||
Although enterprise facing platforms exist from the likes of the Ethereum alliance, HLP is by definition business facing and supported by industry behemoths who contribute and further development in the many modules that come under the HLP banner. The HLP incubates projects in development after their induction into the cause and after finishing work on it and correcting the knick-knacks rolls it out for the public. Members of the Hyperledger project contribute their own work such as how IBM contributed their Fabric platform for collaborative development. The codebase is absorbed and developed in house by the group in the project and rolled out for all members equally for their use.
|
||||
|
||||
Such processes make the modules in HLP highly flexible plug-in frameworks which will support rapid development and roll-outs in enterprise settings. Furthermore, other comparable platforms are open **permission-less blockchains** or rather **public chains** by default and even though it is possible to adapt them to specific applications, HLP modules support the feature natively.
|
||||
|
||||
The differences and use cases of public & private blockchains are covered more [**here**][4] in this comparative primer on the same.
|
||||
|
||||
The Hyperledger project’s mission is four-fold according to **Brian Behlendorf** , the executive director of the project.
|
||||
|
||||
They are:
|
||||
|
||||
1. To create an enterprise grade DLT framework and standards which anyone can port to suit their specific industrial or personal needs.
|
||||
2. To give rise to a robust open source community to aid the ecosystem.
|
||||
3. To promote and further participation of industry members of the said ecosystem such as member firms.
|
||||
4. To host a neutral unbiased infrastructure for the HLP community to gather and share updates and developments regarding the same.
|
||||
|
||||
|
||||
|
||||
The original document can be accessed [**here**][5]****.
|
||||
|
||||
### Structure of the HLP
|
||||
|
||||
The **HLP consists of 12 projects** that are classified as independent modules, each usually structured and working independently to develop their module. These are first studied for their capabilities and viability before being incubated. Proposals for additions can be made by any member of the organization. After the project is incubated active development ensues after which it is rolled out. The interoperability between these modules are given a high priority, hence regular communication between these groups are maintained by the community. Currently 4 of these projects are categorized as active. The active tag implies these are ready for use but not ready for a major release yet. These 4 are arguably the most significant or rather fundamental modules to furthering the blockchain revolution. We’ll look at the individual modules and their functionalities at a later time in detail. However, a brief description of a the Hyperledger Fabric platform, arguably the most popular among them follows.
|
||||
|
||||
### Hyperledger Fabric
|
||||
|
||||
The **Hyperledger Fabric** [2] is a fully open-source, permissioned (non-public) blockchain-based DLT platform that is designed keeping enterprise uses in mind. The platform provides features and is structured to fit the enterprise environment. It is highly modular allowing its developers to choose from different consensus protocols, **chain code protocols ([smart contracts][6])** , or identity management systems etc., as they go along. **It is a permissioned blockchain based platform** that’s makes use of an identity management system, meaning participants will be aware of each other’s identities which is required in an enterprise setting. Fabric allows for smart contract ( _ **“chaincode”, is the term that the Hyperledger team uses**_ ) development in a variety of mainstream programming languages including **Java** , **Javascript** , **Go** etc. This allows institutions and enterprises to make use of their existing talent in the area without hiring or re-training developers to develop their own smart contracts. Fabric also uses an execute-order-validate system to handle smart contracts for better reliability compared to the standard order-validate system that is used by other platforms providing smart contract functionality. Pluggable performance, identity management systems, DBMS, Consensus platforms etc. are other features of Fabric that keeps it miles ahead of its competition.
|
||||
|
||||
### Conclusion
|
||||
|
||||
Projects such as the Hyperledger Fabric platforms enable a faster rate of adoption of blockchain technology in mainstream use-cases. The Hyperledger community structure itself supports open governance principles and since all the projects are led as open source platforms, this improves the security and accountability that the teams exhibit in pushing out commitments.
|
||||
|
||||
Since major applications of such projects involve working with enterprises to further development of platforms and standards, the Hyperledger project is currently at a great position with respect to comparable projects by others.
|
||||
|
||||
**References:**
|
||||
|
||||
* **[1][Samsung takes a seat with Intel and IBM at the Linux Foundation | TheINQUIRER][7]**
|
||||
* **[2] E. Androulaki et al., “Hyperledger Fabric: A Distributed Operating System for Permissioned Blockchains,” 2018.**
|
||||
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.ostechnix.com/blockchain-2-0-an-introduction-to-hyperledger-project-hlp/
|
||||
|
||||
作者:[editor][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.ostechnix.com/author/editor/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://www.ostechnix.com/wp-content/uploads/2019/04/Introduction-To-Hyperledger-Project-720x340.png
|
||||
[2]: https://www.ostechnix.com/blockchain-2-0-an-introduction/
|
||||
[3]: https://www.hyperledger.org/members
|
||||
[4]: https://www.ostechnix.com/blockchain-2-0-public-vs-private-blockchain-comparison/
|
||||
[5]: http://www.hitachi.com/rev/archive/2017/r2017_01/expert/index.html
|
||||
[6]: https://www.ostechnix.com/blockchain-2-0-explaining-smart-contracts-and-its-types/
|
||||
[7]: https://www.theinquirer.net/inquirer/news/2182438/samsung-takes-seat-intel-ibm-linux-foundation
|
@ -1,5 +1,5 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: translator: (furrybear)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
|
@ -1,86 +0,0 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (geekpi)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (OpenHMD: Open Source Project for VR Development)
|
||||
[#]: via: (https://itsfoss.com/openhmd/)
|
||||
[#]: author: (John Paul https://itsfoss.com/author/john/)
|
||||
|
||||
OpenHMD: Open Source Project for VR Development
|
||||
======
|
||||
|
||||
In this day and age, there are open-source alternatives for all your computing needs. There is even an open-source platform for VR goggles and the like. Let’s have a quick look at the OpenHMD project.
|
||||
|
||||
### What is OpenHMD?
|
||||
|
||||
![][1]
|
||||
|
||||
[OpenHMD][2] is a project that aims to create an open-source API and drivers for immersive technology. This category includes head-mounted displays with built-in head tracking.
|
||||
|
||||
They currently support quite a few systems, including Android, FreeBSD, Linux, OpenBSD, mac OS, and Windows. The [devices][3] that they support include Oculus Rift, HTC Vive, DreamWorld DreamGlass, Playstation Move, and others. They also offer support for a wide range of languages, including Go, Java, .NET, Perl, Python, and Rust.
|
||||
|
||||
The OpenHMD project is released under the [Boost License][4].
|
||||
|
||||
### More and Improved Features in the new Release
|
||||
|
||||
![][5]
|
||||
|
||||
Recently, the OpenHMD project [released version 0.3.0][6] codenamed Djungelvral. ([Djungelvral][7] is a salted licorice from Sweden.) This brought quite a few changes.
|
||||
|
||||
The update added support for the following devices:
|
||||
|
||||
* 3Glasses D3
|
||||
* Oculus Rift CV1
|
||||
* HTC Vive and HTC Vive Pro
|
||||
* NOLO VR
|
||||
* Windows Mixed Reality HMD support
|
||||
* Deepoon E2
|
||||
* GearVR Gen1
|
||||
|
||||
|
||||
|
||||
A universal distortion shader was added to OpenHMD. This additions “makes it possible to simply set some variables in the drivers that gives information to the shader regarding lens size, chromatic aberration, position and quirks.”
|
||||
|
||||
They also announced plans to change the build system. OpenHMD added support for Meson and will remove support for Autotools in the next (0.4) release.
|
||||
|
||||
The team behind OpenHMD also had to remove some features because they want their system to work for everyone. Support for PlayStation VR has been disabled because of some issue with Windows and mac OS due to incomplete HID headers. NOLO has a bunch of firmware version, many will small changes. OpenHMD is unable to test all of the firmware versions, so some version might not work. They recommend upgrading to the latest firmware release. Finally, several devices only have limited support and therefore are not included in this release.
|
||||
|
||||
[][8]
|
||||
|
||||
Suggested read To Do App Remember The Milk Is Now Available For Linux
|
||||
|
||||
They accounted that they will be speeding up the OpenHMD release cycle to get newer features and support for more devices to users quicker. Their main priority will be to get “currently disabled devices in master ready for a patch release will be priority as well, among getting the elusive positional tracking functional for supported HMD’s.”
|
||||
|
||||
### Final Thoughts
|
||||
|
||||
I don’t have a VR device and have never used one. I do believe that they have great potential, even beyond gaming. I am thrill (but not surprised) that there is an open-source implementation that seeks to support many devices. I’m glad that they are focusing on a wide range of devices, instead of focussing on some off-brand VR effort.
|
||||
|
||||
I wish the OpenHMD team well and hope they create a platform that will make them the goto VR project.
|
||||
|
||||
Have you ever used or encountered OpenHMD? Have you ever used VR for gaming and other pursuits? If yes, have you encountered any open-source hardware or software? Please let us know in the comments below.
|
||||
|
||||
If you found this article interesting, please take a minute to share it on social media, Hacker News or [Reddit][9].
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://itsfoss.com/openhmd/
|
||||
|
||||
作者:[John Paul][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://itsfoss.com/author/john/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2019/07/openhmd-logo.png?resize=300%2C195&ssl=1
|
||||
[2]: http://www.openhmd.net/
|
||||
[3]: http://www.openhmd.net/index.php/devices/
|
||||
[4]: https://github.com/OpenHMD/OpenHMD/blob/master/LICENSE
|
||||
[5]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2019/07/virtual-reality-development.jpg?ssl=1
|
||||
[6]: http://www.openhmd.net/index.php/2019/07/12/openhmd-0-3-0-djungelvral-released/
|
||||
[7]: https://www.youtube.com/watch?v=byP5i6LdDXs
|
||||
[8]: https://itsfoss.com/remember-the-milk-linux/
|
||||
[9]: http://reddit.com/r/linuxusersgroup
|
@ -1,5 +1,5 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: translator: (geekpi)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
|
@ -0,0 +1,199 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (Find The Linux Distribution Name, Version And Kernel Details)
|
||||
[#]: via: (https://www.ostechnix.com/find-out-the-linux-distribution-name-version-and-kernel-details/)
|
||||
[#]: author: (sk https://www.ostechnix.com/author/sk/)
|
||||
|
||||
Find The Linux Distribution Name, Version And Kernel Details
|
||||
======
|
||||
|
||||
![Find The Linux Distribution Name, Version And Kernel Details][1]
|
||||
|
||||
This guide explains how to find the Linux distribution name, version and Kernel details. If your Linux system has GUI mode, you can find these details easily from the System’s Settings. But in CLI mode, it is bit difficult for beginners to find out such details. No problem! Here I have given a few command line methods to find the Linux system information. There could be many, but these methods will work on most Linux distributions.
|
||||
|
||||
### 1\. Find Linux distribution name, version
|
||||
|
||||
There are many methods to find out what OS is running on in your VPS.
|
||||
|
||||
##### Method 1:
|
||||
|
||||
Open your Terminal and run the following command:
|
||||
|
||||
```
|
||||
$ cat /etc/*-release
|
||||
```
|
||||
|
||||
**Sample output from CentOS 7:**
|
||||
|
||||
```
|
||||
CentOS Linux release 7.0.1406 (Core)
|
||||
NAME="CentOS Linux"
|
||||
VERSION="7 (Core)"
|
||||
ID="centos"
|
||||
ID_LIKE="rhel fedora"
|
||||
VERSION_ID="7"
|
||||
PRETTY_NAME="CentOS Linux 7 (Core)"
|
||||
ANSI_COLOR="0;31"
|
||||
CPE_NAME="cpe:/o:centos:centos:7"
|
||||
HOME_URL="https://www.centos.org/"
|
||||
BUG_REPORT_URL="https://bugs.centos.org/"
|
||||
|
||||
CentOS Linux release 7.0.1406 (Core)
|
||||
CentOS Linux release 7.0.1406 (Core)
|
||||
```
|
||||
|
||||
**Sample output from Ubuntu 18.04:**
|
||||
|
||||
```
|
||||
DISTRIB_ID=Ubuntu
|
||||
DISTRIB_RELEASE=18.04
|
||||
DISTRIB_CODENAME=bionic
|
||||
DISTRIB_DESCRIPTION="Ubuntu 18.04.2 LTS"
|
||||
NAME="Ubuntu"
|
||||
VERSION="18.04.2 LTS (Bionic Beaver)"
|
||||
ID=ubuntu
|
||||
ID_LIKE=debian
|
||||
PRETTY_NAME="Ubuntu 18.04.2 LTS"
|
||||
VERSION_ID="18.04"
|
||||
HOME_URL="https://www.ubuntu.com/"
|
||||
SUPPORT_URL="https://help.ubuntu.com/"
|
||||
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
|
||||
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
|
||||
VERSION_CODENAME=bionic
|
||||
UBUNTU_CODENAME=bionic
|
||||
```
|
||||
|
||||
##### Method 2:
|
||||
|
||||
The following command will also get your distribution details.
|
||||
|
||||
```
|
||||
$ cat /etc/issue
|
||||
```
|
||||
|
||||
**Sample output from Ubuntu 18.04:**
|
||||
|
||||
```
|
||||
Ubuntu 18.04.2 LTS \n \l
|
||||
```
|
||||
|
||||
##### Method 3:
|
||||
|
||||
The following command will get you the distribution details in Debian and its variants like Ubuntu, Linux Mint etc.
|
||||
|
||||
```
|
||||
$ lsb_release -a
|
||||
```
|
||||
|
||||
**Sample output:**
|
||||
|
||||
```
|
||||
No LSB modules are available.
|
||||
Distributor ID: Ubuntu
|
||||
Description: Ubuntu 18.04.2 LTS
|
||||
Release: 18.04
|
||||
Codename: bionic
|
||||
```
|
||||
|
||||
### 2\. Find Linux Kernel details
|
||||
|
||||
##### Method 1:
|
||||
|
||||
To find out your Linux kernel details, run the following command from your Terminal.
|
||||
|
||||
```
|
||||
$ uname -a
|
||||
```
|
||||
|
||||
**Sample output in CentOS 7:**
|
||||
|
||||
```
|
||||
Linux server.ostechnix.lan 3.10.0-123.9.3.el7.x86_64 #1 SMP Thu Nov 6 15:06:03 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
|
||||
```
|
||||
|
||||
**Sample output in Ubuntu 18.04:**
|
||||
|
||||
```
|
||||
Linux ostechnix 4.18.0-25-generic #26~18.04.1-Ubuntu SMP Thu Jun 27 07:28:31 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
|
||||
```
|
||||
|
||||
Or,
|
||||
|
||||
```
|
||||
$ uname -mrs
|
||||
```
|
||||
|
||||
**Sample output:**
|
||||
|
||||
```
|
||||
Linux 4.18.0-25-generic x86_64
|
||||
```
|
||||
|
||||
Where,
|
||||
|
||||
* **Linux** – Kernel name
|
||||
* **4.18.0-25-generic** – Kernel version
|
||||
* **x86_64** – System hardware architecture (i.e 64 bit system)
|
||||
|
||||
|
||||
|
||||
For more details about uname command, refer the man page.
|
||||
|
||||
```
|
||||
$ man uname
|
||||
```
|
||||
|
||||
##### Method 2:
|
||||
|
||||
From your Terminal, run the following command:
|
||||
|
||||
```
|
||||
$ cat /proc/version
|
||||
```
|
||||
|
||||
**Sample output from CentOS 7:**
|
||||
|
||||
```
|
||||
Linux version 3.10.0-123.9.3.el7.x86_64 ([email protected]) (gcc version 4.8.2 20140120 (Red Hat 4.8.2-16) (GCC) ) #1 SMP Thu Nov 6 15:06:03 UTC 2014
|
||||
```
|
||||
|
||||
**Sample output from Ubuntu 18.04:**
|
||||
|
||||
```
|
||||
Linux version 4.18.0-25-generic ([email protected]) (gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1)) #26~18.04.1-Ubuntu SMP Thu Jun 27 07:28:31 UTC 2019
|
||||
```
|
||||
|
||||
* * *
|
||||
|
||||
**Suggested read:**
|
||||
|
||||
* [**How To Find Linux System Details Using inxi**][2]
|
||||
* [**Neofetch – Display Linux system Information In Terminal**][3]
|
||||
* [**How To Find Hardware And Software Specifications In Ubuntu**][4]
|
||||
|
||||
|
||||
|
||||
* * *
|
||||
|
||||
These are few ways to find find out a Linux distribution’s name, version and Kernel details. Hope you find it useful.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.ostechnix.com/find-out-the-linux-distribution-name-version-and-kernel-details/
|
||||
|
||||
作者:[sk][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.ostechnix.com/author/sk/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://www.ostechnix.com/wp-content/uploads/2015/08/Linux-Distribution-Name-Version-Kernel-720x340.png
|
||||
[2]: https://www.ostechnix.com/how-to-find-your-system-details-using-inxi/
|
||||
[3]: https://www.ostechnix.com/neofetch-display-linux-systems-information/
|
||||
[4]: https://www.ostechnix.com/getting-hardwaresoftware-specifications-in-linux-mint-ubuntu/
|
@ -0,0 +1,117 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (GameMode – A Tool To Improve Gaming Performance On Linux)
|
||||
[#]: via: (https://www.ostechnix.com/gamemode-a-tool-to-improve-gaming-performance-on-linux/)
|
||||
[#]: author: (sk https://www.ostechnix.com/author/sk/)
|
||||
|
||||
GameMode – A Tool To Improve Gaming Performance On Linux
|
||||
======
|
||||
|
||||
![Gamemmode improve gaming performance on Linux][1]
|
||||
|
||||
Ask some Linux users why they still sticks with Windows dual boot, probably the answer would be – “Games!”. It was true! Luckily, open source gaming platforms like [**Lutris**][2] and Proprietary gaming platform **Steam** have brought many games to Linux platforms and improved the Linux gaming experience significantly over the years. Today, I stumbled upon yet another Linux gaming-related, open source tool named **GameMode** , which allows the users to improve gaming performance on Linux.
|
||||
|
||||
GameMode is basically a daemon/lib combo that lets the games optimise Linux system performance on demand. I thought GameMode is a kind of tool that would kill some resource-hungry tools running in the background. But it is different. What it does actually is just instruct the CPU to **automatically run in Performance mode when playing games** and helps the Linux users to get best possible performance out of their games.
|
||||
|
||||
GameMode improves the gaming performance significantly by requesting a set of optimisations be temporarily applied to the host OS while playing the games. Currently, It includes support for optimisations including the following:
|
||||
|
||||
* CPU governor,
|
||||
* I/O priority,
|
||||
* Process niceness,
|
||||
* Kernel scheduler (SCHED_ISO),
|
||||
* Screensaver inhibiting,
|
||||
* GPU performance mode (NVIDIA and AMD), GPU overclocking (NVIDIA),
|
||||
* Custom scripts.
|
||||
|
||||
|
||||
|
||||
GameMode is free and open source system tool developed by [**Feral Interactive**][3], a world-leading publisher of games.
|
||||
|
||||
### Install GameMode
|
||||
|
||||
GameMode is available for many Linux distributions.
|
||||
|
||||
On Arch Linux and its variants, you can install it from [**AUR**][4] using any AUR helper programs, for example [**Yay**][5].
|
||||
|
||||
```
|
||||
$ yay -S gamemode
|
||||
```
|
||||
|
||||
On Debian, Ubuntu, Linux Mint and other Deb-based systems:
|
||||
|
||||
```
|
||||
$ sudo apt install gamemode
|
||||
```
|
||||
|
||||
If GameMode is not available for your system, you can manually compile and install it from source as described in its Github page under Development section.
|
||||
|
||||
### Activate GameMode support to improve Gaming Performance on Linux
|
||||
|
||||
Here are the list of games with GameMode integration, so we need not to do any additional configuration to activate GameMode support.
|
||||
|
||||
* Rise of the Tomb Raider
|
||||
* Total War Saga: Thrones of Britannia
|
||||
* Total War: WARHAMMER II
|
||||
* DiRT 4
|
||||
* Total War: Three Kingdoms
|
||||
|
||||
|
||||
|
||||
Simply run these games and GameMode support will be enabled automatically.
|
||||
|
||||
There is also an [**extension**][6] is available to integrate GameMode support with GNOME shell. It indicates when GameMode is active in the top panel.
|
||||
|
||||
For other games, you may need to manually request GameMode support like below.
|
||||
|
||||
```
|
||||
gamemoderun ./game
|
||||
```
|
||||
|
||||
I am not fond of games and I haven’t played any games for years. So, I can’t share any actual benchmarks.
|
||||
|
||||
However, I’ve found a short video tutorial on Youtube to enable GameMode support for Lutris games. It is a good start point for those who wants to try GameMode for the first time.
|
||||
|
||||
<https://youtu.be/4gyRyYfyGJw>
|
||||
|
||||
By looking at the comments in the video, I can say that that GameMode has indeed improved gaming performance on Linux.
|
||||
|
||||
For more details, refer the [**GameMode GitHub repository**][7].
|
||||
|
||||
* * *
|
||||
|
||||
**Related read:**
|
||||
|
||||
* [**GameHub – An Unified Library To Put All Games Under One Roof**][8]
|
||||
* [**How To Run MS-DOS Games And Programs In Linux**][9]
|
||||
|
||||
|
||||
|
||||
* * *
|
||||
|
||||
Have you used GameMode tool? Did it really improve the Gaming performance on your Linux box? Share you thoughts in the comment section below.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.ostechnix.com/gamemode-a-tool-to-improve-gaming-performance-on-linux/
|
||||
|
||||
作者:[sk][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.ostechnix.com/author/sk/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://www.ostechnix.com/wp-content/uploads/2019/07/Gamemode-720x340.png
|
||||
[2]: https://www.ostechnix.com/manage-games-using-lutris-linux/
|
||||
[3]: http://www.feralinteractive.com/en/
|
||||
[4]: https://aur.archlinux.org/packages/gamemode/
|
||||
[5]: https://www.ostechnix.com/yay-found-yet-another-reliable-aur-helper/
|
||||
[6]: https://github.com/gicmo/gamemode-extension
|
||||
[7]: https://github.com/FeralInteractive/gamemode
|
||||
[8]: https://www.ostechnix.com/gamehub-an-unified-library-to-put-all-games-under-one-roof/
|
||||
[9]: https://www.ostechnix.com/how-to-run-ms-dos-games-and-programs-in-linux/
|
@ -0,0 +1,109 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (How To Add ‘New Document’ Option In Right Click Context Menu In Ubuntu 18.04)
|
||||
[#]: via: (https://www.ostechnix.com/how-to-add-new-document-option-in-right-click-context-menu-in-ubuntu-18-04/)
|
||||
[#]: author: (sk https://www.ostechnix.com/author/sk/)
|
||||
|
||||
How To Add ‘New Document’ Option In Right Click Context Menu In Ubuntu 18.04
|
||||
======
|
||||
|
||||
![Add 'New Document' Option In Right Click Context Menu In Ubuntu 18.04 GNOME desktop][1]
|
||||
|
||||
The other day, I was collecting reference notes for [**Linux package managers**][2] on various online sources. When I tried to create a text file to save those notes, I noticed that the ‘New document’ option is missing in my Ubuntu 18.04 LTS desktop. I thought somehow the option is gone in my system. After googling a bit, It turns out to be the “new document” option is not included in Ubuntu GNOME editions. Luckily, I have found an easy solution to add ‘New Document’ option in right click context menu in Ubuntu 18.04 LTS desktop.
|
||||
|
||||
As you can see in the following screenshot, the “New Doucment” option is missing in the right-click context menu of Nautilus file manager.
|
||||
|
||||
![][3]
|
||||
|
||||
new document option is missing in right-click context menu ubuntu 18.04
|
||||
|
||||
If you want to add this option, just follow the steps given below.
|
||||
|
||||
### Add ‘New Document’ Option In Right Click Context Menu In Ubuntu
|
||||
|
||||
First, make sure you have **~/Templates** directory in your system. If it is not available create one like below.
|
||||
|
||||
```
|
||||
$ mkdir ~/Templates
|
||||
```
|
||||
|
||||
Next open the Terminal application and cd into the **~/Templates** folder using command:
|
||||
|
||||
```
|
||||
$ cd ~/Templates
|
||||
```
|
||||
|
||||
Create an empty file:
|
||||
|
||||
```
|
||||
$ touch Empty\ Document
|
||||
```
|
||||
|
||||
Or,
|
||||
|
||||
```
|
||||
$ touch "Empty Document"
|
||||
```
|
||||
|
||||
![][4]
|
||||
|
||||
Now open your Nautilus file manager and check if “New Doucment” option is added in context menu.
|
||||
|
||||
![][5]
|
||||
|
||||
Add ‘New Document’ Option In Right Click Context Menu In Ubuntu 18.04
|
||||
|
||||
As you can see in the above screenshot, the “New Document” option is back again.
|
||||
|
||||
You can also additionally add options for different files types like below.
|
||||
|
||||
```
|
||||
$ cd ~/Templates
|
||||
|
||||
$ touch New\ Word\ Document.docx
|
||||
$ touch New\ PDF\ Document.pdf
|
||||
$ touch New\ Text\ Document.txt
|
||||
$ touch New\ PyScript.py
|
||||
```
|
||||
|
||||
![][6]
|
||||
|
||||
Add options for different files types in New Document sub-menu
|
||||
|
||||
Please note that all files should be created inside the **~/Templates** directory.
|
||||
|
||||
Now, open the Nautilus and check if the newly created file types are present in “New Document” sub-menu.
|
||||
|
||||
![][7]
|
||||
|
||||
If you want to remove any file type from the sub-menu, simply remove the appropriate file from the Templates directory.
|
||||
|
||||
```
|
||||
$ rm ~/Templates/New\ Word\ Document.docx
|
||||
```
|
||||
|
||||
I am wondering why this option has been removed in recent Ubuntu GNOME editions. I use it frequently. However, it is easy to re-enable this option in couple minutes.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.ostechnix.com/how-to-add-new-document-option-in-right-click-context-menu-in-ubuntu-18-04/
|
||||
|
||||
作者:[sk][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.ostechnix.com/author/sk/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://www.ostechnix.com/wp-content/uploads/2019/07/Add-New-Document-Option-In-Right-Click-Context-Menu-1-720x340.png
|
||||
[2]: https://www.ostechnix.com/linux-package-managers-compared-appimage-vs-snap-vs-flatpak/
|
||||
[3]: https://www.ostechnix.com/wp-content/uploads/2019/07/new-document-option-missing.png
|
||||
[4]: https://www.ostechnix.com/wp-content/uploads/2019/07/Create-empty-document-in-Templates-directory.png
|
||||
[5]: https://www.ostechnix.com/wp-content/uploads/2019/07/Add-New-Document-Option-In-Right-Click-Context-Menu-In-Ubuntu.png
|
||||
[6]: https://www.ostechnix.com/wp-content/uploads/2019/07/Add-options-for-different-files-types.png
|
||||
[7]: https://www.ostechnix.com/wp-content/uploads/2019/07/Add-New-Document-Option-In-Right-Click-Context-Menu.png
|
@ -0,0 +1,358 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (How To Find Hardware Specifications On Linux)
|
||||
[#]: via: (https://www.ostechnix.com/getting-hardwaresoftware-specifications-in-linux-mint-ubuntu/)
|
||||
[#]: author: (sk https://www.ostechnix.com/author/sk/)
|
||||
|
||||
How To Find Hardware Specifications On Linux
|
||||
======
|
||||
|
||||
There are plenty of tools available to find hardware specifications on Linux systems. Here, I have listed four most commonly used tools to get almost all hardware (and software) details of a Linux system. Good thing is these tools comes pre-installed by default on some Linux distributions. I tested these tools on Ubuntu 18.04 LTS desktop, however they should work on other Linux distros as well.
|
||||
|
||||
### 1\. LSHW
|
||||
|
||||
**Lshw (Hardware Lister)** is a simple, yet full-featured utility that provides detailed information on the hardware configuration of a Linux system. It can report exact memory configuration, firmware version, mainboard configuration, CPU version and speed, cache configuration, bus speed etc. Information can be output in plain text, XML or HTML.
|
||||
|
||||
It currently supports DMI (x86 and EFI only), Open Firmware device tree (PowerPC only), PCI/AGP, ISA PnP (x86), CPUID (x86), IDE/ATA/ATAPI, PCMCIA (only tested on x86), USB and SCSI.
|
||||
|
||||
Like I already said, lshw comes pre-installed with Ubuntu by default. If it isn’t installed in your Ubuntu system, install it using the command:
|
||||
|
||||
```
|
||||
$ sudo apt install lshw lshw-gtk
|
||||
```
|
||||
|
||||
On other Linux distributions, for example Arch Linux, run:
|
||||
|
||||
```
|
||||
$ sudo pacman -S lshw lshw-gtk
|
||||
```
|
||||
|
||||
Once installed, run lshw to find your system hardware details:
|
||||
|
||||
```
|
||||
$ sudo lshw
|
||||
```
|
||||
|
||||
You will see the detailed output of your system’s hardware specifications.
|
||||
|
||||
**Sample output:**
|
||||
|
||||
![][2]
|
||||
|
||||
Find Hardware Specifications On Linux using lshw
|
||||
|
||||
Please be mindful that if you run lshw command without sudo rights, the output may be incomplete or inaccurate.
|
||||
|
||||
Lshw can display the output as an HTML page. To do so, use:
|
||||
|
||||
```
|
||||
$ sudo lshw -html
|
||||
```
|
||||
|
||||
Likewise, we can output the device tree as XML and json formats like below.
|
||||
|
||||
```
|
||||
$ sudo lshw -xml
|
||||
|
||||
$ sudo lshw -json
|
||||
```
|
||||
|
||||
To output the device tree showing hardware paths, use -short option:
|
||||
|
||||
```
|
||||
$ sudo lshw -short
|
||||
```
|
||||
|
||||
![][3]
|
||||
|
||||
Show device tree with hardware path using lshw
|
||||
|
||||
To list devices with bus information, detailing SCSI, USB, IDE and PCI addresses, run:
|
||||
|
||||
```
|
||||
$ sudo lshw -businfo
|
||||
```
|
||||
|
||||
By default, lshw display all hardware details. You can also view the hardware information of a specific hardware details based on **Class** options such as processor, memory, display etc. The class options can be found using **lshw -short** or **lshw -businfo** commands.
|
||||
|
||||
To display a specific hardware details, for example Processor, do:
|
||||
|
||||
```
|
||||
$ sudo lshw -class processor
|
||||
```
|
||||
|
||||
Sample output:
|
||||
|
||||
```
|
||||
*-cpu
|
||||
description: CPU
|
||||
product: Intel(R) Core(TM) i3-2350M CPU @ 2.30GHz
|
||||
vendor: Intel Corp.
|
||||
physical id: 4
|
||||
bus info: [email protected]
|
||||
version: Intel(R) Core(TM) i3-2350M CPU @ 2.30GHz
|
||||
serial: To Be Filled By O.E.M.
|
||||
slot: CPU 1
|
||||
size: 913MHz
|
||||
capacity: 2300MHz
|
||||
width: 64 bits
|
||||
clock: 100MHz
|
||||
capabilities: x86-64 fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer xsave avx lahf_lm epb pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid xsaveopt dtherm arat pln pts md_clear flush_l1d cpufreq
|
||||
configuration: cores=2 enabledcores=1 threads=2
|
||||
```
|
||||
|
||||
Similarly, we can get system details using command:
|
||||
|
||||
```
|
||||
$ sudo lshw -class system
|
||||
```
|
||||
|
||||
Get hard disk details:
|
||||
|
||||
```
|
||||
$ sudo lshw -class disk
|
||||
```
|
||||
|
||||
Get network details:
|
||||
|
||||
```
|
||||
$ sudo lshw -class network
|
||||
```
|
||||
|
||||
Get memory details:
|
||||
|
||||
```
|
||||
$ sudo lshw -class memory
|
||||
```
|
||||
|
||||
Also, we can list details of multiple devices like below.
|
||||
|
||||
```
|
||||
$ sudo lshw -class storage -class power -class volume
|
||||
```
|
||||
|
||||
If you want to view the details with hardware path, just add **-short** option.
|
||||
|
||||
```
|
||||
$ sudo lshw -short -class processor
|
||||
```
|
||||
|
||||
Output:
|
||||
|
||||
```
|
||||
H/W path Device Class Description
|
||||
=======================================================
|
||||
/0/4 processor Intel(R) Core(TM) i3-2350M CPU @ 2.30GHz
|
||||
```
|
||||
|
||||
Sometimes you might want to share your hardware details to someone, for example customer support person. If so, you can remove potentially sensitive information, such as IP addresses, serial numbers, etc., from output like below.
|
||||
|
||||
```
|
||||
$ lshw -sanitize
|
||||
```
|
||||
|
||||
**Lshw-gtk GUI utility
|
||||
**
|
||||
|
||||
If you’re not comfortable with CLI, you can use **lshw-gtk** which is the graphical interface for lshw command line tool.
|
||||
|
||||
It can be opened either from Terminal or Dash.
|
||||
|
||||
To launch it from Terminal, simply do:
|
||||
|
||||
```
|
||||
$ sudo lshw-gtk
|
||||
```
|
||||
|
||||
Here is the default GUI interface of lshw tool.
|
||||
|
||||
![][4]
|
||||
|
||||
Find Hardware Specifications On Linux using lshw-gtk
|
||||
|
||||
Just double click on “Portable Computer” to expand it further.
|
||||
|
||||
![][5]
|
||||
|
||||
Find Hardware Specifications On Linux using lshw-gtk GUI
|
||||
|
||||
You can keep double click on subsequent hardware tab to get the detailed view.
|
||||
|
||||
For more details, refer man pages.
|
||||
|
||||
```
|
||||
$ man lshw
|
||||
```
|
||||
|
||||
### 2\. Inxi
|
||||
|
||||
**Inxi** is my another favorite tool to find almost everything about a Linux system. It is a free, open source, and full featured command line system information tool. It shows system hardware, CPU, drivers, Xorg, Desktop, Kernel, GCC version(s), Processes, RAM usage, and a wide variety of other useful information. Be it a hard disk or CPU, mother board or the complete detail of the entire system, inxi will display it more accurately in seconds. Since it is CLI tool, you can use it in Desktop or server edition. For more details, refer the following guide.
|
||||
|
||||
* [**How To Find Linux System Details Using inxi**][6]
|
||||
|
||||
|
||||
|
||||
### 3\. Hardinfo
|
||||
|
||||
**Hardinfo** will get you the both hardware and software details of your system which isn’t available in the _lshw._
|
||||
HardInfo can gather information about your system’s hardware and operating system, perform benchmarks, and generate printable reports either in HTML or in plain text formats.
|
||||
|
||||
If Hardinfo isn’t installed in Ubuntu, install it using the command:***
|
||||
|
||||
* * *
|
||||
|
||||
```
|
||||
$ sudo apt install hardinfo
|
||||
```
|
||||
|
||||
Once installed, Hardinfo tool either from the Terminal or Menu.
|
||||
|
||||
Here is how Hardinfo default interface looks like.
|
||||
|
||||
![][7]
|
||||
|
||||
Find Hardware Specifications On Linux Using Hardinfo
|
||||
|
||||
As you see in the above screenshot, Hardinfo has simple and intuitive GUI.
|
||||
|
||||
All hardware information have grouped in four main groups namely **Computer** , **Devices** , **Network** , and **Benchmarks**. Each group has shows specific hardware details.
|
||||
|
||||
For example, to view your processor details, click on “Processor” option under “Devices” group.
|
||||
|
||||
![][8]
|
||||
|
||||
Show processor details using hardinfo
|
||||
|
||||
Unlike lshw, Hardinfo helps you to find basic software specifications like operating system details, kernel modules, locale information, filesystem usage, users/groups, and development tools etc.
|
||||
|
||||
![][9]
|
||||
|
||||
Show operating system details using hardinfo
|
||||
|
||||
Another notable feature of Hardinfo is it allows us to do simple benchmarks to test CPU and FPU capabilities and some of the graphical user interface capabilities.
|
||||
|
||||
![][10]
|
||||
|
||||
Perform benchmarks using hardinfo
|
||||
|
||||
* * *
|
||||
|
||||
**Suggested read:**
|
||||
|
||||
* [**Phoronix Test Suite – An Open Source Testing And Benchmarking Tool**][11]
|
||||
* [**UnixBench – A Benchmark Suite For Unix-like Systems**][12]
|
||||
* [**How To Benchmark Linux Commands And Programs From Commandline**][13]
|
||||
|
||||
|
||||
|
||||
* * *
|
||||
|
||||
We can generate reports of our entire system as well as individual devices. To generate report, simply click on “Generate Report” button on the menu bar and choose the information that you want to include in the report.
|
||||
|
||||
![][14]
|
||||
|
||||
Generate system reports using hardinfo
|
||||
|
||||
Hardinfo has few command line options as well.
|
||||
|
||||
For instance, to generate report and display it in the Terminal, run:
|
||||
|
||||
```
|
||||
$ hardinfo -r
|
||||
```
|
||||
|
||||
List modules:
|
||||
|
||||
```
|
||||
$ hardinfo -l
|
||||
```
|
||||
|
||||
For more details, refer man pages.
|
||||
|
||||
```
|
||||
$ man hardinfo
|
||||
```
|
||||
|
||||
### 4\. Sysinfo
|
||||
|
||||
**Sysinfo** is yet another alternative to HardInfo and lshw-gtk utilities that can be used to get both hardware and software information as listed below.
|
||||
|
||||
* System details such as distribution release, versions of GNOME, kernel, gcc and Xorg and hostname.
|
||||
* CPU details like vendor identification, model name, frequency, L2 cache, model numbers and flags.
|
||||
* Memory details such as total system RAM, free memory, swap space total and free, cached, active/inactive memory.
|
||||
* Storage Controllers such as IDE interface, all IDE devices, SCSI devices.
|
||||
* Hardware details such as motherboard, graphic card, sound card and network devices.
|
||||
|
||||
|
||||
|
||||
Let us install sysinfo using the command:
|
||||
|
||||
```
|
||||
$ sudo apt install sysinfo
|
||||
```
|
||||
|
||||
Sysinfo can be launched either from from Terminal or Dash.
|
||||
|
||||
To launch it from terminal, run:
|
||||
|
||||
$ sysinfo
|
||||
|
||||
Here is the default interface of Sysinfo utility.
|
||||
|
||||
![][15]
|
||||
|
||||
sysinfo interface
|
||||
|
||||
As you can see, all hardware(and software) details have been grouped under five categories namely System, CPU, Memory, Storage and Hardware. Click on a category on the navigation bar to get respective details.
|
||||
|
||||
![][16]
|
||||
|
||||
Find Hardware Specifications On Linux Using Sysinfo
|
||||
|
||||
Further details can be found on man pages.
|
||||
|
||||
```
|
||||
$ man sysinfo
|
||||
```
|
||||
|
||||
And, that’s all. Like I already mentioned there could be many tools available to display Hardware/Software Specifications. However, these four tools are just enough to find everything about your Linux distribution.
|
||||
|
||||
**Inxi** is my another favorite tool to find almost everything about a Linux system. It is a free, open source, and full featured command line system information tool. It shows system hardware, CPU, drivers, Xorg, Desktop, Kernel, GCC version(s), Processes, RAM usage, and a wide variety of other useful information. Be it a hard disk or CPU, mother board or the complete detail of the entire system, inxi will display it more accurately in seconds. Since it is CLI tool, you can use it in Desktop or server edition. For more details, refer the following guide.
|
||||
|
||||
* [**How To Find Linux System Details Using inxi**][6]
|
||||
|
||||
|
||||
|
||||
### 3\. Hardinfo
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.ostechnix.com/getting-hardwaresoftware-specifications-in-linux-mint-ubuntu/
|
||||
|
||||
作者:[sk][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.ostechnix.com/author/sk/
|
||||
[b]: https://github.com/lujun9972
|
||||
[2]: https://www.ostechnix.com/wp-content/uploads/2013/01/Find-Hardware-Specifications-On-Linux-using-lshw-1.png
|
||||
[3]: https://www.ostechnix.com/wp-content/uploads/2013/01/Show-device-tree-with-hardware-path-using-lshw.png
|
||||
[4]: https://www.ostechnix.com/wp-content/uploads/2013/01/Find-Hardware-Specifications-On-Linux-using-lshw-gtk-1.png
|
||||
[5]: https://www.ostechnix.com/wp-content/uploads/2013/01/Find-Hardware-Specifications-On-Linux-using-lshw-gtk-2.png
|
||||
[6]: https://www.ostechnix.com/how-to-find-your-system-details-using-inxi/
|
||||
[7]: https://www.ostechnix.com/wp-content/uploads/2013/01/Find-Hardware-Specifications-On-Linux-Using-Hardinfo.png
|
||||
[8]: https://www.ostechnix.com/wp-content/uploads/2013/01/Show-processor-details-using-hardinfo.png
|
||||
[9]: https://www.ostechnix.com/wp-content/uploads/2013/01/Show-operating-system-details-using-hardinfo.png
|
||||
[10]: https://www.ostechnix.com/wp-content/uploads/2013/01/Perform-benchmarks-using-hardinfo.png
|
||||
[11]: https://www.ostechnix.com/phoronix-test-suite-open-source-testing-benchmarking-tool/
|
||||
[12]: https://www.ostechnix.com/unixbench-benchmark-suite-unix-like-systems/
|
||||
[13]: https://www.ostechnix.com/how-to-benchmark-linux-commands-and-programs-from-commandline/
|
||||
[14]: https://www.ostechnix.com/wp-content/uploads/2013/01/Generate-system-reports-using-hardinfo.png
|
||||
[15]: https://www.ostechnix.com/wp-content/uploads/2013/01/sysinfo-interface.png
|
||||
[16]: https://www.ostechnix.com/wp-content/uploads/2013/01/Find-Hardware-Specifications-On-Linux-Using-Sysinfo.png
|
@ -0,0 +1,127 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (How To Magnify Screen Areas On Linux Desktop)
|
||||
[#]: via: (https://www.ostechnix.com/how-to-magnify-screen-areas-on-linux-desktop/)
|
||||
[#]: author: (sk https://www.ostechnix.com/author/sk/)
|
||||
|
||||
How To Magnify Screen Areas On Linux Desktop
|
||||
======
|
||||
|
||||
Have you ever been in a situation where you wanted to magnify a particular portion of your screen? If you’re a graphic designer, you might be definitely in this situation often. Please note that I am not talking about enlarging a text. Magnifying the screen area is different than merely enlarging the text size. Magnification is the process of enlarging something (E.g. Images) only in appearance, not in physical size. Fortunately, there are many applications available to magnify screen areas on Linux systems. The magnifiers can help the artists or graphic designers for accurate graphical design and/or detail work. This can also help to those who have poor eyesight or small screen size monitor with low resolutions in general.
|
||||
|
||||
### Magnify Screen Areas On Linux Desktop
|
||||
|
||||
There could be several ways, applications to do this. I am aware of the following two methods as of writing this guide. I will keep looking for more ways and applications which will help to magnify, try them out and update this guide in future.
|
||||
|
||||
##### Method 1 – Using Magnus
|
||||
|
||||
Magnus is a small and simple desktop magnifier application for Linux. It literally follows the mouse cursor, allowing you to move around by zooming in on parts of the screen. It shows the screen areas around the mouse pointer in a separate window magnified up to five times. Magnus is free, open source application released under MIT license.
|
||||
|
||||
Magnus is available as [**snap**][1] application. So we can install it on Linux distributions that supports snaps using command:
|
||||
|
||||
```
|
||||
$ sudo snap install magnus
|
||||
```
|
||||
|
||||
There is also a PPA for Magnus is available.
|
||||
|
||||
```
|
||||
$ sudo add-apt-repository ppa:flexiondotorg/magnus
|
||||
|
||||
$ sudo apt update
|
||||
|
||||
$ sudo apt install magnus
|
||||
```
|
||||
|
||||
Once Magnus is installed, launch it from menu or application launcher.
|
||||
|
||||
You will see a small window on the top left corner of your screen. You can move it to any side of the screen and increase its size by simply dragging the hot corners windows.
|
||||
|
||||
![][3]
|
||||
|
||||
Magnus screen magnifier Interface
|
||||
|
||||
Now, move the mouse pointer around the screen areas to magnify them.
|
||||
|
||||
![][4]
|
||||
|
||||
Magnify Screen Areas On Linux Desktop Using Magnus
|
||||
|
||||
You can increase the zooming level (by 2x, 3x, 4x and 5x) from the drop-down box in the tool bar of Magnus app. By default, Magnus will magnify the areas in 2x size.
|
||||
|
||||
##### Method 2 – Using Universal Access menu
|
||||
|
||||
If you’re a GNOME user, you need not to install any external applications. GNOME desktop comes with a built-in feature called **Universal Access** which will provide many accessibility features such as,
|
||||
|
||||
* Magnifying screen areas,
|
||||
* Read screen aloud,
|
||||
* Read screen in Braille,
|
||||
* Change text size,
|
||||
* Adjust contrast,
|
||||
* Adjust speed of mouse/touchpad,
|
||||
* Use on-screen keyboard,
|
||||
* And many.
|
||||
|
||||
|
||||
|
||||
We will look into only one feature i.e magnifying screen areas.
|
||||
|
||||
Launch Universal Access menu. It is usually found under System Settings. Or, click on a person-like icon on the top bar.
|
||||
|
||||
There are many accessibility options available in Universal access menu as shown in the picture below. To enable magnification, click on **Zoom** tab.
|
||||
|
||||
![][5]
|
||||
|
||||
Universal Access menu
|
||||
|
||||
In the Zoom options window, simply enable Zoom option. Just click the **ON/OFF slider button** to enable/disable zoom option.
|
||||
|
||||
![][6]
|
||||
|
||||
Magnify Screen Areas On Linux Desktop Using Universal Access menu
|
||||
|
||||
Once you enabled the zoom option, the screen areas will simply magnify when you move the mouse pointer around them. You can increase or decrease the zooming level by simply clicking on the +/- buttons besides Magnification option.
|
||||
|
||||
Unlike Magnus application, Universal access menu offers a few additional functionalities as listed below.
|
||||
|
||||
* Change mouse tracking. This setting can be applied in the **Magnifier tab** of Zoom options window.
|
||||
* Change position of the magnified view on the screen i.e entire screen or part of the screen like top half, bottom half, left half and right half. To adjust these settings, go to **Magnifier tab**.
|
||||
* Activate crosshairs to help you find the mouse or touchpad pointer. Also, we can adjust mouse or touchpad thickness, length and color. These settings can be changed in the **Crosshairs tab**.
|
||||
* Adjust color effects such as brightness, contrast, color. All of these settings can be adjusted in **Color effects tab**.
|
||||
|
||||
|
||||
|
||||
I tested these two methods on Ubuntu 18.04 desktop and I could easily magnify the screen areas.
|
||||
|
||||
To be honest, I never knew that we can magnify a screen area in Linux. Before I know about this, all I would do is just screenshot the area and zoom in/out using an image viewer application. Well, not anymore! I know now how to magnify a screen area on Linux desktop and I hope this will be useful to you too.
|
||||
|
||||
**Resources:**
|
||||
|
||||
* [**Magnus GitHub Repository**][7]
|
||||
* [**Ubuntu documentation**][8]
|
||||
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.ostechnix.com/how-to-magnify-screen-areas-on-linux-desktop/
|
||||
|
||||
作者:[sk][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.ostechnix.com/author/sk/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://www.ostechnix.com/introduction-ubuntus-snap-packages/
|
||||
[3]: https://www.ostechnix.com/wp-content/uploads/2019/07/Magnus-launch.png
|
||||
[4]: https://www.ostechnix.com/wp-content/uploads/2019/07/Magnify-Screen-Areas-On-Linux-Desktop-Using-Magnus.gif
|
||||
[5]: https://www.ostechnix.com/wp-content/uploads/2019/07/Universal-Access-menu.png
|
||||
[6]: https://www.ostechnix.com/wp-content/uploads/2019/07/Magnify-Screen-Areas-On-Linux-Desktop-Using-Universal-Access-menu.png
|
||||
[7]: https://github.com/stuartlangridge/magnus
|
||||
[8]: https://help.ubuntu.com/stable/ubuntu-help/a11y-mag.html.en
|
@ -0,0 +1,74 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (How To Screenshot Right Click Context Menu On Linux)
|
||||
[#]: via: (https://www.ostechnix.com/how-to-screenshot-right-click-context-menu-on-linux/)
|
||||
[#]: author: (sk https://www.ostechnix.com/author/sk/)
|
||||
|
||||
How To Screenshot Right Click Context Menu On Linux
|
||||
======
|
||||
|
||||
![How To Screenshot Right Click Context Menu On Linux][1]
|
||||
|
||||
Taking screenshots is part of my work. I take a lot of screenshots daily to use them in my guides. The other day, I had to screenshot the right-click context menu while writing a guide to show our readers how to [**add ‘New Document’ option in right click context menu in Ubuntu 18.04 LTS desktop**][2]. Usually, I take screenshots with **Print screen** button in the keyboard and **Deepin Screenshot** application. While trying to screenshot the context menu using Deepin Screenshot app, the context menu automatically disappeared as soon as I clicked the Deepin Screenshot. Printscreen also doesn’t work when the context menu is open. If you happened to be in this situation, here are two simple workarounds to screenshot right click context menu on Linux systems with GNOME DE.
|
||||
|
||||
### Screenshot Right-click Context Menu On Linux
|
||||
|
||||
If you want to take the screenshot of right click context menu when it is open, simply instruct the screenshot apps to wait for a particular seconds before taking a screenshot.
|
||||
|
||||
We can do this in two ways, the CLI way and GUI way. First, we will see the CLI way.
|
||||
|
||||
##### 1\. Schedule screenshots using Scrot
|
||||
|
||||
As you might already know, [**Scrot**][3] (short for **SCR** eensh **OT** ) is a command-line screenshot tool for taking screenshots in Unix-like operating systems. Scrot comes pre-installed in most Linux distributions. Just in case, if it is not installed already, you can install it using your distribution’s default package manager. For example, run the following command to install Scrot on Ubuntu and its derivatives:
|
||||
|
||||
```
|
||||
$ sudo apt install scrot
|
||||
```
|
||||
|
||||
Now we are going to instruct Scrot to wait for X seconds, for example 5 seconds, before taking a screenshot using command:
|
||||
|
||||
```
|
||||
$ scrot -d 5
|
||||
```
|
||||
|
||||
Now, right click anywhere to open the context menu and wait for 5 seconds. Scrot will take screenshot exactly after 5 seconds.
|
||||
|
||||
![][4]
|
||||
|
||||
Screenshot Right-click Context Menu On Linux Using Scrot
|
||||
|
||||
You can set the timeout value as you wish.
|
||||
|
||||
If you’re not comfortable with CLI way, no problem! We can do this in GUI way as well.
|
||||
|
||||
##### 2\. Schedule screenshots using Gnome Screenshot
|
||||
|
||||
Open Gnome Screenshot application. it comes pre-installed with GNOME desktop. Now, set a time (E.g. 5 seconds) after which the picture has to be taken, click **Take screenshot** button, open the right click context menu and simply wait for 5 seconds. The screenshot will be taken in 5 seconds.
|
||||
|
||||
![][5]
|
||||
|
||||
Screenshot Right-click Context Menu On Linux Using Gnome screenshot
|
||||
|
||||
And, that’s all. This is how we can take screenshots when a menu is open or running. Of course, some advanced screenshot applications like **Shutter** can do this as well. But I find these two ways much easier.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.ostechnix.com/how-to-screenshot-right-click-context-menu-on-linux/
|
||||
|
||||
作者:[sk][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.ostechnix.com/author/sk/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://www.ostechnix.com/wp-content/uploads/2019/07/Screenshot-Right-Click-Context-Menu-720x340.png
|
||||
[2]: https://www.ostechnix.com/how-to-add-new-document-option-in-right-click-context-menu-in-ubuntu-18-04/
|
||||
[3]: https://www.ostechnix.com/take-screenshots-command-line-using-scrot-linux/
|
||||
[4]: https://www.ostechnix.com/wp-content/uploads/2019/07/Screenshot-Right-click-Context-Menu-On-Linux.gif
|
||||
[5]: https://www.ostechnix.com/wp-content/uploads/2019/07/Screenshot-Right-click-Context-Menu-On-Linux-Using-Gnome-screenshot.gif
|
@ -0,0 +1,236 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (How To Set Up Time Synchronization On Ubuntu)
|
||||
[#]: via: (https://www.ostechnix.com/how-to-set-up-time-synchronization-on-ubuntu/)
|
||||
[#]: author: (sk https://www.ostechnix.com/author/sk/)
|
||||
|
||||
How To Set Up Time Synchronization On Ubuntu
|
||||
======
|
||||
|
||||
![Set Up Time Synchronization On Ubuntu][1]
|
||||
|
||||
You might have set up [**cron jobs**][2] that runs at a specific time to backup important files or perform any system related tasks. Or, you might have configured a [**log server to rotate the logs**][3] out of your system at regular interval time. If your clock is out-of-sync, these jobs will not execute at the desired time. This is why setting up a correct time zone on the Linux systems and keep the clock synchronized with Internet is important. This guide describes how to set up time synchronization on Ubuntu Linux. The steps given below have been tested on Ubuntu 18.04, however they are same for other Ubuntu-based systems that uses systemd’s **timesyncd** service.
|
||||
|
||||
### Set Up Time Synchronization On Ubuntu
|
||||
|
||||
Usually, we set time zone during installation. You can however change it or set different time zone if you want to.
|
||||
|
||||
First, let us see the current time zone in our Ubuntu system using “date” command:
|
||||
|
||||
```
|
||||
$ date
|
||||
```
|
||||
|
||||
Sample output:
|
||||
|
||||
```
|
||||
Tue Jul 30 11:47:39 UTC 2019
|
||||
```
|
||||
|
||||
As you see in the above output, the “date” command shows the actual date as well as the current time. Here, my current time zone is **UTC** which stands for **Coordinated Universal Time**.
|
||||
|
||||
Alternatively, you can look up the **/etc/timezone** file to find the current time zone.
|
||||
|
||||
```
|
||||
$ cat /etc/timezone
|
||||
UTC
|
||||
```
|
||||
|
||||
Now, let us see if the clock is synchronized with Internet. To do so, simply run:
|
||||
|
||||
```
|
||||
$ timedatectl
|
||||
```
|
||||
|
||||
Sample output:
|
||||
|
||||
```
|
||||
Local time: Tue 2019-07-30 11:53:58 UTC
|
||||
Universal time: Tue 2019-07-30 11:53:58 UTC
|
||||
RTC time: Tue 2019-07-30 11:53:59
|
||||
Time zone: Etc/UTC (UTC, +0000)
|
||||
System clock synchronized: yes
|
||||
systemd-timesyncd.service active: yes
|
||||
RTC in local TZ: no
|
||||
```
|
||||
|
||||
As you can see, the “timedatectl” command displays the local time, universal time, time zone and whether the system clock is synchronized with Internet servers and if the **systemd-timesyncd.service** is active or inactive. In my case, the system clock is synchronizing with Internet time servers.
|
||||
|
||||
If the clock is out-of-sync, you would see **“System clock synchronized: no”** as shown in the below screenshot.
|
||||
|
||||
![][4]
|
||||
|
||||
Time synchronization is disabled.
|
||||
|
||||
Note: The above screenshot is old one. That’s why you see the different date.
|
||||
|
||||
If you see **“System clock synchronized:** value set as **no** , the timesyncd service might be inactive. So, simply restart the service and see if it helps.
|
||||
|
||||
```
|
||||
$ sudo systemctl restart systemd-timesyncd.service
|
||||
```
|
||||
|
||||
Now check the timesyncd service status:
|
||||
|
||||
```
|
||||
$ sudo systemctl status systemd-timesyncd.service
|
||||
● systemd-timesyncd.service - Network Time Synchronization
|
||||
Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled)
|
||||
Active: active (running) since Tue 2019-07-30 10:50:18 UTC; 1h 11min ago
|
||||
Docs: man:systemd-timesyncd.service(8)
|
||||
Main PID: 498 (systemd-timesyn)
|
||||
Status: "Synchronized to time server [2001:67c:1560:8003::c7]:123 (ntp.ubuntu.com)."
|
||||
Tasks: 2 (limit: 2319)
|
||||
CGroup: /system.slice/systemd-timesyncd.service
|
||||
└─498 /lib/systemd/systemd-timesyncd
|
||||
|
||||
Jul 30 10:50:30 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab
|
||||
Jul 30 10:50:31 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab
|
||||
Jul 30 10:50:31 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab
|
||||
Jul 30 10:50:32 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab
|
||||
Jul 30 10:50:32 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab
|
||||
Jul 30 10:50:35 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab
|
||||
Jul 30 10:50:35 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab
|
||||
Jul 30 10:50:35 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab
|
||||
Jul 30 10:50:35 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab
|
||||
Jul 30 10:51:06 ubuntuserver systemd-timesyncd[498]: Synchronized to time server [2001:67c:1560:800
|
||||
```
|
||||
|
||||
If this service is enabled and active, your system clock should sync with Internet time servers.
|
||||
|
||||
You can verify if the time synchronization is enabled or not using command:
|
||||
|
||||
```
|
||||
$ timedatectl
|
||||
```
|
||||
|
||||
If it still not works, run the following command to enable the time synchronization:
|
||||
|
||||
```
|
||||
$ sudo timedatectl set-ntp true
|
||||
```
|
||||
|
||||
Now your system clock will synchronize with Internet time servers.
|
||||
|
||||
##### Change time zone using Timedatectl command
|
||||
|
||||
What if I want to use different time zone other than UTC? It is easy!
|
||||
|
||||
First, list of available time zones using command:
|
||||
|
||||
```
|
||||
$ timedatectl list-timezones
|
||||
```
|
||||
|
||||
You will see an output similar to below image.
|
||||
|
||||
![][5]
|
||||
|
||||
List time zones using timedatectl command
|
||||
|
||||
You can set the desired time zone(E.g. Asia/Kolkata) using command:
|
||||
|
||||
```
|
||||
$ sudo timedatectl set-timezone Asia/Kolkata
|
||||
```
|
||||
|
||||
Check again if the time zone has been really changed using “date” command:
|
||||
|
||||
**$ date**
|
||||
Tue Jul 30 17:52:33 **IST** 2019
|
||||
|
||||
Or, use timedatectl command if you want the detailed output:
|
||||
|
||||
```
|
||||
$ timedatectl
|
||||
Local time: Tue 2019-07-30 17:52:35 IST
|
||||
Universal time: Tue 2019-07-30 12:22:35 UTC
|
||||
RTC time: Tue 2019-07-30 12:22:36
|
||||
Time zone: Asia/Kolkata (IST, +0530)
|
||||
System clock synchronized: yes
|
||||
systemd-timesyncd.service active: yes
|
||||
RTC in local TZ: no
|
||||
```
|
||||
|
||||
As you noticed, I have changed the time zone from UTC to IST (Indian standard time).
|
||||
|
||||
To switch back to UTC time zone, simply run:
|
||||
|
||||
```
|
||||
$ sudo timedatectl set-timezone UTC
|
||||
```
|
||||
|
||||
##### Change time zone using Tzdata
|
||||
|
||||
In older Ubuntu versions, the Timedatectl command is not available. In such cases, you can use **Tzdata** (Time zone data) to set up time synchronization.
|
||||
|
||||
```
|
||||
$ sudo dpkg-reconfigure tzdata
|
||||
```
|
||||
|
||||
Choose the geographic area in which you live. In my case, I chose **Asia**. Select OK and hit ENTER key.
|
||||
|
||||
![][6]
|
||||
|
||||
Next, select the city or region corresponding to your time zone. Here I’ve chosen **Kolkata**.
|
||||
|
||||
![][7]
|
||||
|
||||
Finally, you will see an output something like below in the Terminal.
|
||||
|
||||
```
|
||||
Current default time zone: 'Asia/Kolkata'
|
||||
Local time is now: Tue Jul 30 19:29:25 IST 2019.
|
||||
Universal Time is now: Tue Jul 30 13:59:25 UTC 2019.
|
||||
```
|
||||
|
||||
##### Configure time zone in graphical mode
|
||||
|
||||
Some users may not be comfortable with CLI way. If you’re one of them, you can easily change do all this from system settings panel in graphical mode.
|
||||
|
||||
Hit the **Super key** (Windows key), type **settings** in the Ubuntu dash and click on **Settings** icon.
|
||||
|
||||
![][8]
|
||||
|
||||
Launch System’s settings from Ubuntu dash
|
||||
|
||||
Alternatively, click on the down arrow located at the top right corner of your Ubuntu desktop and click the Settings icon in the left corner.
|
||||
|
||||
![][9]
|
||||
|
||||
Launch System’s settings from top panel
|
||||
|
||||
In the next window, choose **Details** and then Click **Date & Time** option. Turn on both **Automatic Date & Time** and **Automatic Time Zone** options.
|
||||
|
||||
![][10]
|
||||
|
||||
Set automatic time zone in Ubuntu
|
||||
|
||||
Close the Settings window an you’re done! Your system clock should now sync with Internet time servers.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.ostechnix.com/how-to-set-up-time-synchronization-on-ubuntu/
|
||||
|
||||
作者:[sk][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.ostechnix.com/author/sk/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://www.ostechnix.com/wp-content/uploads/2019/07/Set-Up-Time-Synchronization-On-Ubuntu-720x340.png
|
||||
[2]: https://www.ostechnix.com/a-beginners-guide-to-cron-jobs/
|
||||
[3]: https://www.ostechnix.com/manage-log-files-using-logrotate-linux/
|
||||
[4]: https://www.ostechnix.com/wp-content/uploads/2019/07/timedatectl-command-output-ubuntu.jpeg
|
||||
[5]: https://www.ostechnix.com/wp-content/uploads/2019/07/List-timezones-using-timedatectl-command.png
|
||||
[6]: https://www.ostechnix.com/wp-content/uploads/2019/07/configure-time-zone-using-tzdata-1.png
|
||||
[7]: https://www.ostechnix.com/wp-content/uploads/2019/07/configure-time-zone-using-tzdata-2.png
|
||||
[8]: https://www.ostechnix.com/wp-content/uploads/2019/07/System-settings-Ubuntu-dash.png
|
||||
[9]: https://www.ostechnix.com/wp-content/uploads/2019/07/Ubuntu-system-settings.png
|
||||
[10]: https://www.ostechnix.com/wp-content/uploads/2019/07/Set-automatic-timezone-in-ubuntu.png
|
155
sources/tech/20190805 How To Verify ISO Images In Linux.md
Normal file
155
sources/tech/20190805 How To Verify ISO Images In Linux.md
Normal file
@ -0,0 +1,155 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (How To Verify ISO Images In Linux)
|
||||
[#]: via: (https://www.ostechnix.com/how-to-verify-iso-images-in-linux/)
|
||||
[#]: author: (sk https://www.ostechnix.com/author/sk/)
|
||||
|
||||
How To Verify ISO Images In Linux
|
||||
======
|
||||
|
||||
![How To Verify ISO Images In Linux][1]
|
||||
|
||||
You just downloaded an ISO image of your favorite Linux distribution from the official site or a third party site, now what? [**Create bootable medium**][2] and start installing the OS? No, wait. Before start using it, It is highly recommended to verify that the downloaded ISO in your local system is the exact copy of the ISO present in the download mirrors. Because, [**Linux Mint’s website is hacked**][3] few years ago and the hackers made a modified Linux Mint ISO, with a backdoor in it. So, It is important to check the authenticity and integrity of your Linux ISO images. If you don’t know how to verify ISO images in Linux, this brief guide will help. Read on!
|
||||
|
||||
### Verify ISO Images In Linux
|
||||
|
||||
We can verify ISO images using the **Checksum** values. Checksum is a sequence of letters and numbers used to check data for errors and verify the authenticity and integrity of the downloaded files. There are different types of checksums, such as SHA-0, SHA-1, SHA-2 (224, 256, 384, 512) and MD5. MD5 sums have been the most popular, but nowadays SHA-256 sums are mostly used by modern Linux distros.
|
||||
|
||||
We are going to use two tools namely **“gpg”** and **“sha256”** to verify authenticity and integrity of the ISO images.
|
||||
|
||||
##### Download checksums and signatures
|
||||
|
||||
For the purpose of this guide, I am going to use Ubuntu 18.04 LTS server ISO image. However, the steps given below should work on other Linux distributions as well.
|
||||
|
||||
Near the top of the Ubuntu download page, you will see a few extra files (checksums and signatures) as shown in the following picture.
|
||||
|
||||
![][4]
|
||||
|
||||
Ubuntu 18.04 checksum and signature
|
||||
|
||||
Here, the **SHA256SUMS** file contains checksums for all the available images and the **SHA256SUMS.gpg** file is the GnuPG signature for that file. We use this signature file to **verify** the checksum file in subsequent steps.
|
||||
|
||||
Download the Ubuntu ISO images and these two files and put them all in a directory, for example **ISO**.
|
||||
|
||||
```
|
||||
$ ls ISO/
|
||||
SHA256SUMS SHA256SUMS.gpg ubuntu-18.04.2-live-server-amd64.iso
|
||||
```
|
||||
|
||||
As you see in the above output, I have downloaded Ubuntu 18.04.2 LTS server image along with checksum and signature values.
|
||||
|
||||
##### Download valid signature key
|
||||
|
||||
Now, download the correct signature key using command:
|
||||
|
||||
```
|
||||
$ gpg --keyid-format long --keyserver hkp://keyserver.ubuntu.com --recv-keys 0x46181433FBB75451 0xD94AA3F0EFE21092
|
||||
```
|
||||
|
||||
Sample output:
|
||||
|
||||
```
|
||||
gpg: key D94AA3F0EFE21092: 57 signatures not checked due to missing keys
|
||||
gpg: key D94AA3F0EFE21092: public key "Ubuntu CD Image Automatic Signing Key (2012) <[email protected]>" imported
|
||||
gpg: key 46181433FBB75451: 105 signatures not checked due to missing keys
|
||||
gpg: key 46181433FBB75451: public key "Ubuntu CD Image Automatic Signing Key <[email protected]>" imported
|
||||
gpg: no ultimately trusted keys found
|
||||
gpg: Total number processed: 2
|
||||
gpg: imported: 2
|
||||
```
|
||||
|
||||
##### Verify SHA-256 checksum
|
||||
|
||||
Next verify the checksum file using the signature with command:
|
||||
|
||||
```
|
||||
$ gpg --keyid-format long --verify SHA256SUMS.gpg SHA256SUMS
|
||||
```
|
||||
|
||||
Sample output:
|
||||
|
||||
```
|
||||
gpg: Signature made Friday 15 February 2019 04:23:33 AM IST
|
||||
gpg: using DSA key 46181433FBB75451
|
||||
gpg: Good signature from "Ubuntu CD Image Automatic Signing Key <[email protected]>" [unknown]
|
||||
gpg: WARNING: This key is not certified with a trusted signature!
|
||||
gpg: There is no indication that the signature belongs to the owner.
|
||||
Primary key fingerprint: C598 6B4F 1257 FFA8 6632 CBA7 4618 1433 FBB7 5451
|
||||
gpg: Signature made Friday 15 February 2019 04:23:33 AM IST
|
||||
gpg: using RSA key D94AA3F0EFE21092
|
||||
gpg: Good signature from "Ubuntu CD Image Automatic Signing Key (2012) <[email protected]>" [unknown]
|
||||
gpg: WARNING: This key is not certified with a trusted signature!
|
||||
gpg: There is no indication that the signature belongs to the owner.
|
||||
Primary key fingerprint: 8439 38DF 228D 22F7 B374 2BC0 D94A A3F0 EFE2 1092
|
||||
```
|
||||
|
||||
If you see “Good signature” in the output,the checksum file is created by Ubuntu developer and signed by the owner of the key file.
|
||||
|
||||
##### Check the downloaded ISO file
|
||||
|
||||
Next, let us go ahead and check the downloaded ISO file matches the checksum. To do so, simply run:
|
||||
|
||||
```
|
||||
$ sha256sum -c SHA256SUMS 2>&1 | grep OK
|
||||
ubuntu-18.04.2-live-server-amd64.iso: OK
|
||||
```
|
||||
|
||||
If the checksum values are matched, you will see the **“OK”** message. Meaning – the downloaded file is legitimate and hasn’t altered or tampered.
|
||||
|
||||
If you don’t get any output or different than above output, the ISO file has been modified or incorrectly downloaded. You must re-download the file again from a good source.
|
||||
|
||||
Some Linux distributions have included the checksum value in the download page itself. For example, **Pop!_os** developers have provided the SHA-256 checksum values for all ISO images in the download page itself, so you can quickly verify the ISO images.
|
||||
|
||||
![][5]
|
||||
|
||||
Pop os SHA256 sum value in download page
|
||||
|
||||
After downloading the the ISO image, verify it using command:
|
||||
|
||||
```
|
||||
$ sha256sum Soft_backup/ISOs/pop-os_18.04_amd64_intel_54.iso
|
||||
```
|
||||
|
||||
Sample output:
|
||||
|
||||
```
|
||||
680e1aa5a76c86843750e8120e2e50c2787973343430956b5cbe275d3ec228a6 Soft_backup/ISOs/pop-os_18.04_amd64_intel_54.iso
|
||||
```
|
||||
|
||||
![][6]
|
||||
|
||||
Pop os SHA256 sum value
|
||||
|
||||
Here, the random string starting with **“680elaa…”** is the SHA-256 checksum value. Compare this value with the SHA-256 sum value provided on the downloads page. If both values are same, you’re good to go! The downloaded ISO file is legitimate and it hasn’t changed or modified from its original state.
|
||||
|
||||
This is how we can verify the authenticity and integrity of an ISO file in Linux. Whether you download ISOs from official or third-party sources, it is always recommended to do a quick verification before using them. Hope this was useful.
|
||||
|
||||
**Reference:**
|
||||
|
||||
* [**https://tutorials.ubuntu.com/tutorial/tutorial-how-to-verify-ubuntu**][7]
|
||||
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.ostechnix.com/how-to-verify-iso-images-in-linux/
|
||||
|
||||
作者:[sk][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.ostechnix.com/author/sk/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://www.ostechnix.com/wp-content/uploads/2019/07/Verify-ISO-Images-In-Linux-720x340.png
|
||||
[2]: https://www.ostechnix.com/etcher-beauitiful-app-create-bootable-sd-cards-usb-drives/
|
||||
[3]: https://blog.linuxmint.com/?p=2994
|
||||
[4]: https://www.ostechnix.com/wp-content/uploads/2019/07/Ubuntu-18.04-checksum-and-signature.png
|
||||
[5]: https://www.ostechnix.com/wp-content/uploads/2019/07/Pop-os-SHA256-sum.png
|
||||
[6]: https://www.ostechnix.com/wp-content/uploads/2019/07/Pop-os-SHA256-sum-value.png
|
||||
[7]: https://tutorials.ubuntu.com/tutorial/tutorial-how-to-verify-ubuntu
|
@ -0,0 +1,267 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (How to Install and Configure PostgreSQL on Ubuntu)
|
||||
[#]: via: (https://itsfoss.com/install-postgresql-ubuntu/)
|
||||
[#]: author: (Sergiu https://itsfoss.com/author/sergiu/)
|
||||
|
||||
How to Install and Configure PostgreSQL on Ubuntu
|
||||
======
|
||||
|
||||
_**In this tutorial, you’ll learn how to install and use the open source database PostgreSQL on Ubuntu Linux.**_
|
||||
|
||||
[PostgreSQL][1] (or Postgres) is a powerful, free and open-source relational database management system ([RDBMS][2]) that has a strong reputation for reliability, feature robustness, and performance. It is designed to handle various tasks, of any size. It is cross-platform, and the default database for [macOS Server][3].
|
||||
|
||||
PostgreSQL might just be the right tool for you if you’re a fan of a simple to use SQL database manager. It supports SQL standards and offers additional features, while also being heavily extendable by the user as the user can add data types, functions, and do many more things.
|
||||
|
||||
Earlier I discussed [installing MySQL on Ubuntu][4]. In this article, I’ll show you how to install and configure PostgreSQL, so that you are ready to use it to suit whatever your needs may be.
|
||||
|
||||
![][5]
|
||||
|
||||
### Installing PostgreSQL on Ubuntu
|
||||
|
||||
PostgreSQL is available in Ubuntu main repository. However, like many other development tools, it may not be the latest version.
|
||||
|
||||
First check the PostgreSQL version available in [Ubuntu repositories][6] using this [apt command][7] in the terminal:
|
||||
|
||||
```
|
||||
apt show postgresql
|
||||
```
|
||||
|
||||
In my Ubuntu 18.04, it showed that the available version of PostgreSQL is version 10 (10+190 means version 10) whereas PostgreSQL version 11 is already released.
|
||||
|
||||
```
|
||||
Package: postgresql
|
||||
Version: 10+190
|
||||
Priority: optional
|
||||
Section: database
|
||||
Source: postgresql-common (190)
|
||||
Origin: Ubuntu
|
||||
```
|
||||
|
||||
Based on this information, you can make your mind whether you want to install the version available from Ubuntu or you want to get the latest released version of PostgreSQL.
|
||||
|
||||
I’ll show both methods to you.
|
||||
|
||||
#### Method 1: Install PostgreSQL from Ubuntu repositories
|
||||
|
||||
In the terminal, use the following command to install PostgreSQL
|
||||
|
||||
```
|
||||
sudo apt update
|
||||
sudo apt install postgresql postgresql-contrib
|
||||
```
|
||||
|
||||
Enter your password when asked and you should have it installed in a few seconds/minutes depending on your internet speed. Speaking of that, feel free to check various [network bandwidth in Ubuntu][8].
|
||||
|
||||
What is postgresql-contrib?
|
||||
|
||||
The postgresql-contrib or the contrib package consists some additional utilities and functionalities that are not part of the core PostgreSQL package. In most cases, it’s good to have the contrib package installed along with the PostgreSQL core.
|
||||
|
||||
[][9]
|
||||
|
||||
Suggested read Fix gvfsd-smb-browse Taking 100% CPU In Ubuntu 16.04
|
||||
|
||||
#### Method 2: Installing the latest version 11 of PostgreSQL in Ubuntu
|
||||
|
||||
To install PostgreSQL 11, you need to add the official PostgreSQL repository in your sources.list, add its certificate and then install it from there.
|
||||
|
||||
Don’t worry, it’s not complicated. Just follow these steps.
|
||||
|
||||
Add the GPG key first:
|
||||
|
||||
```
|
||||
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
|
||||
```
|
||||
|
||||
Now add the repository with the below command. If you are using Linux Mint, you’ll have to manually replace the `lsb_release -cs` the Ubuntu version your Mint release is based on.
|
||||
|
||||
```
|
||||
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
|
||||
```
|
||||
|
||||
Everything is ready now. Install PostgreSQL with the following commands:
|
||||
|
||||
```
|
||||
sudo apt update
|
||||
sudo apt install postgresql postgresql-contrib
|
||||
```
|
||||
|
||||
PostgreSQL GUI application
|
||||
|
||||
You may also install a GUI application (pgAdmin) for managing PostgreSQL databases:
|
||||
|
||||
_sudo apt install pgadmin4_
|
||||
|
||||
### Configuring PostgreSQL
|
||||
|
||||
You can check if **PostgreSQL** is running by executing:
|
||||
|
||||
```
|
||||
service postgresql status
|
||||
```
|
||||
|
||||
Via the **service** command you can also **start**, **stop** or **restart** **postgresql**. Typing in **service postgresql** and pressing **Enter** should output all options. Now, onto the users.
|
||||
|
||||
By default, PostgreSQL creates a special user postgres that has all rights. To actually use PostgreSQL, you must first log in to that account:
|
||||
|
||||
```
|
||||
sudo su postgres
|
||||
```
|
||||
|
||||
Your prompt should change to something similar to:
|
||||
|
||||
```
|
||||
[email protected]:/home/ubuntu$
|
||||
```
|
||||
|
||||
Now, run the **PostgreSQL Shell** with the utility **psql**:
|
||||
|
||||
```
|
||||
psql
|
||||
```
|
||||
|
||||
You should be prompted with:
|
||||
|
||||
```
|
||||
postgress=#
|
||||
```
|
||||
|
||||
You can type in **\q** to **quit** and **\?** for **help**.
|
||||
|
||||
To see all existing tables, enter:
|
||||
|
||||
```
|
||||
\l
|
||||
```
|
||||
|
||||
The output will look similar to this (Hit the key **q** to exit this view):
|
||||
|
||||
![PostgreSQL Tables][10]
|
||||
|
||||
With **\du** you can display the **PostgreSQL users**:
|
||||
|
||||
![PostgreSQLUsers][11]
|
||||
|
||||
You can change the password of any user (including **postgres**) with:
|
||||
|
||||
```
|
||||
ALTER USER postgres WITH PASSWORD 'my_password';
|
||||
```
|
||||
|
||||
**Note:** _Replace **postgres** with the name of the user and **my_password** with the wanted password._ Also, don’t forget the **;** (**semicolumn**) after every statement.
|
||||
|
||||
It is recommended that you create another user (it is bad practice to use the default **postgres** user). To do so, use the command:
|
||||
|
||||
```
|
||||
CREATE USER my_user WITH PASSWORD 'my_password';
|
||||
```
|
||||
|
||||
If you run **\du**, you will see, however, that **my_user** has no attributes yet. Let’s add **Superuser** to it:
|
||||
|
||||
```
|
||||
ALTER USER my_user WITH SUPERUSER;
|
||||
```
|
||||
|
||||
You can **remove users** with:
|
||||
|
||||
```
|
||||
DROP USER my_user;
|
||||
```
|
||||
|
||||
To **log in** as another user, quit the prompt (**\q**) and then use the command:
|
||||
|
||||
```
|
||||
psql -U my_user
|
||||
```
|
||||
|
||||
You can connect directly to a database with the **-d** flag:
|
||||
|
||||
```
|
||||
psql -U my_user -d my_db
|
||||
```
|
||||
|
||||
You should call the PostgreSQL user the same as another existing user. For example, my use is **ubuntu**. To log in, from the terminal I use:
|
||||
|
||||
```
|
||||
psql -U ubuntu -d postgres
|
||||
```
|
||||
|
||||
**Note:** _You must specify a database (by default it will try connecting you to the database named the same as the user you are logged in as)._
|
||||
|
||||
If you have a the error:
|
||||
|
||||
```
|
||||
psql: FATAL: Peer authentication failed for user "my_user"
|
||||
```
|
||||
|
||||
Make sure you are logging as the correct user and edit **/etc/postgresql/11/main/pg_hba.conf** with administrator rights:
|
||||
|
||||
```
|
||||
sudo vim /etc/postgresql/11/main/pg_hba.conf
|
||||
```
|
||||
|
||||
**Note:** _Replace **11** with your version (e.g. **10**)._
|
||||
|
||||
Here, replace the line:
|
||||
|
||||
```
|
||||
local all postgres peer
|
||||
```
|
||||
|
||||
With:
|
||||
|
||||
```
|
||||
local all postgres md5
|
||||
```
|
||||
|
||||
Then restart **PostgreSQL**:
|
||||
|
||||
```
|
||||
sudo service postgresql restart
|
||||
```
|
||||
|
||||
Using **PostgreSQL** is the same as using any other **SQL** type database. I won’t go into the specific commands, since this article is about getting you started with a working setup. However, here is a [very useful gist][12] to reference! Also, the man page (**man psql**) and the [documentation][13] are very helpful.
|
||||
|
||||
[][14]
|
||||
|
||||
Suggested read [How To] Share And Sync Any Folder With Dropbox in Ubuntu
|
||||
|
||||
**Wrapping Up**
|
||||
|
||||
Reading this article has hopefully guided you through the process of installing and preparing PostgreSQL on an Ubuntu system. If you are new to SQL, you should read this article to know the [basic SQL commands][15]:
|
||||
|
||||
[Basic SQL Commands][15]
|
||||
|
||||
If you have any issues or questions, please feel free to ask in the comment section.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://itsfoss.com/install-postgresql-ubuntu/
|
||||
|
||||
作者:[Sergiu][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://itsfoss.com/author/sergiu/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://www.postgresql.org/
|
||||
[2]: https://www.codecademy.com/articles/what-is-rdbms-sql
|
||||
[3]: https://www.apple.com/in/macos/server/
|
||||
[4]: https://itsfoss.com/install-mysql-ubuntu/
|
||||
[5]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2019/08/install-postgresql-ubuntu.png?resize=800%2C450&ssl=1
|
||||
[6]: https://itsfoss.com/ubuntu-repositories/
|
||||
[7]: https://itsfoss.com/apt-command-guide/
|
||||
[8]: https://itsfoss.com/network-speed-monitor-linux/
|
||||
[9]: https://itsfoss.com/fix-gvfsd-smb-high-cpu-ubuntu/
|
||||
[10]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2019/07/postgresql_tables.png?fit=800%2C303&ssl=1
|
||||
[11]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2019/07/postgresql_users.png?fit=800%2C244&ssl=1
|
||||
[12]: https://gist.github.com/Kartones/dd3ff5ec5ea238d4c546
|
||||
[13]: https://www.postgresql.org/docs/manuals/
|
||||
[14]: https://itsfoss.com/sync-any-folder-with-dropbox/
|
||||
[15]: https://itsfoss.com/basic-sql-commands/
|
@ -0,0 +1,86 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (zionfuo)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (Blockchain 2.0 – An Introduction To Hyperledger Project (HLP) [Part 8])
|
||||
[#]: via: (https://www.ostechnix.com/blockchain-2-0-an-introduction-to-hyperledger-project-hlp/)
|
||||
[#]: author: (editor https://www.ostechnix.com/author/editor/)
|
||||
|
||||
区块链2.0:Hyperledger项目简介(八)
|
||||
======
|
||||
|
||||
![Introduction To Hyperledger Project][1]
|
||||
|
||||
一旦,一个新技术平台在积极发展和商业利益方面达到了普及的门槛,全球的主要公司和小型的初创企业都急于抓住这块蛋糕。在当时**Linux**就是这样的平台。一旦实现了其应用程序的普及,个人、公司和机构就开始对其表现出兴趣,到2000年,**Linux基金会**成立了。
|
||||
|
||||
Linux 基金会旨在通过赞助他们的开发团队来制定规范和开发Linux作为平台。Linux基金会是一个由软件和IT巨头(如微软、甲骨文、三星、思科、 IBM 、英特尔等[[1][7]]支持的非营利组织。这不包括为改善平台而提供服务的数百名个人开发者。多年来,Linux基金会已经开展了许多项目。**Hyperledger**项目是迄今为止发展最快的项目。
|
||||
|
||||
在将技术推进至可用且有用的方面上,这种联合主导的开发具有很多优势。为大型项目提供开发标准、库和所有后端协议既昂贵又资源密集型,而且不会从中产生丝毫收入。因此, 对于公司来说,通过支持这些组织来汇集他们的资源来开发常见的那些 “烦人” 部分是有很意义的,以及随后完成这些标准部分的工作以简单地即插即用和定制他们的产品。除了模型的经济性之外,这种合作努力还产生了标准,使其容易使用和集成到优秀的产品和服务中。
|
||||
|
||||
上述联盟模式,在曾经或当下使WiFi (The Wi-Fi alliance) 、移动电话等标准在制定方面得到了创新。
|
||||
|
||||
|
||||
### Hyperledger (HLP) 项目简介
|
||||
|
||||
Hyperledger 项目于 2015年12月由 Linux 基金会启动,目前是其孵化的增长最快的项目之一。它是一个伞式组织(umbrella organization),用于合作开发和推进基于[区块链][2]的分布式账本技术 (DLT) 的工具和标准。支持该项目的主要行业参与者包括**IBM**、**英特尔**和**SAP Ariba**[等][3]。HLP 旨在为个人和公司创建框架,以便根据需要创建共享和封闭的区块链,以满足他们自己的需求。设计原则是开发一个专注于隐私和未来可审计性的全球可部署、可扩展、强大的区块链平台。
|
||||
|
||||
### 开发目标和构造: 即插即用
|
||||
|
||||
虽然面向企业的平台有以太坊联盟之类的产品,但根据定义,HLP是面向企业的,并得到行业巨头的支持,他们在HLP旗下的许多模块中做出贡献并进一步发展。还孵化开发的周边项目,并这些创意项目推向公众。Hyperledger 项目的成员贡献了他们自己的力量,例如IBM如何为协作开发贡献他们的Fabric平台。该代码库由IBM在其内部研究和开发,并开源出来供所有成员使用。
|
||||
|
||||
这些过程使得 HLP 中的模块具有高度灵活的插件框架,这将支持企业设置中的快速开发和推出。此外,默认情况下,其他类似的平台是开放的**无需许可链**(permission-less blockchain)或是**公有链**(public blockchain),HLP模块本身就是支持通过调试可以适应特定的功能。
|
||||
|
||||
在这篇关于[公有链和私有链][4]的比较入门文章中,更多地涵盖了公有链和私有链的差异和用例。
|
||||
|
||||
根据项目执行董事**Brian Behlendorf**的说法,Hyperledger项目的使命有四个。
|
||||
|
||||
分别是:
|
||||
|
||||
1. 创建企业级DLT框架和标准,任何人都可以移植以满足其特定的工业或个人需求。
|
||||
2. 创建一个强大的开源社区来帮助生态系统。
|
||||
3. 促进所述生态系统的行业成员(如成员公司)的参与。
|
||||
4. 为HLP社区提供中立且无偏见的基础设施,以收集和分享相关的更新和发展。
|
||||
|
||||
可以在这里访问[原始文档][5]。
|
||||
|
||||
### HLP的架构
|
||||
|
||||
HLP由12个项目组成,这些项目被归类为独立的模块,每个项目通常都是独立构建和工作的,以开发他们的模块。在孵化之前,首先对它们的能力和生存能力进行研究。组织的任何成员都可以提出增加的建议。在项目孵化后,就会出现积极开发,然后才会推出。这些模块之间的互操作性被赋予了很高的优先级,因此这些组之间的定期通信由社区维护。目前,这些项目中有4个被归类为活动项目。活动标签意味着这些标签已经准备好使用,但还没有准备好发布重大版本。这4个模块可以说是推动区块链革命的最重要或最基本的模块。稍后,我们将详细介绍各个模块及其功能。然而,Hyperledger Fabric平台的简要描述,可以说是其中最受欢迎的。
|
||||
|
||||
### Hyperledger Fabric
|
||||
|
||||
**Hyperledger Fabric**[2]是一个完全开源的、基于区块链的许可 (非公开) DLT 平台,设计时考虑了企业的使用。该平台提供了适合企业环境的功能和结构。它是高度模块化的,允许开发人员在不同的一致协议、**链码协议**([智能合约][6]) 或身份管理系统等中进行选择。这是一个基于区块链的许可平台,利用身份管理系统,这意味着参与者将知道彼此在企业环境中需要的身份。Fabric允许以各种主流编程语言 (包括Java、Javascript、Go等) 开发智能合约(“链码”,是Hyperledger团队使用的术语)。这使得机构和企业可以利用他们在该领域的现有人才,而无需雇佣或重新培训开发人员来开发他们自己的智能合约。与标准订单验证系统相比,Fabric还使用执行顺序验证系统来处理智能合约,以提供更好的可靠性,这些系统由提供智能合约功能的其他平台使用。与标准订单验证系统相比,Fabric还使用执行顺序验证系统来处理智能合约,以提供更好的可靠性,这些系统由提供智能合约功能的其他平台使用。可插拔性能、身份管理系统、数据库管理系统、共识平台等是Fabric的其他功能,这些功能使它在竞争中保持领先地位。
|
||||
|
||||
|
||||
### 结论
|
||||
|
||||
诸如Hyperledger Fabric平台这样的项目能够在主流用例中更快地采用区块链技术。Hyperledger社区结构本身支持开放治理原则,并且由于所有项目都是作为开源平台引导的,因此这提高了团队在履行承诺时表现出来的安全性和责任感。
|
||||
|
||||
由于此类项目的主要应用涉及与企业合作及进一步开发平台和标准,因此Hyperledger项目目前在其他类似项目前面处于有利地位。
|
||||
|
||||
**参考资料**
|
||||
|
||||
* **[1][Samsung takes a seat with Intel and IBM at the Linux Foundation | TheINQUIRER][7]**
|
||||
* **[2] E. Androulaki et al., “Hyperledger Fabric: A Distributed Operating System for Permissioned Blockchains,” 2018.**
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.ostechnix.com/blockchain-2-0-an-introduction-to-hyperledger-project-hlp/
|
||||
|
||||
作者:[editor][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[zionfuo](https://github.com/zionfuo)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.ostechnix.com/author/editor/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://www.ostechnix.com/wp-content/uploads/2019/04/Introduction-To-Hyperledger-Project-720x340.png
|
||||
[2]: https://www.ostechnix.com/blockchain-2-0-an-introduction/
|
||||
[3]: https://www.hyperledger.org/members
|
||||
[4]: https://www.ostechnix.com/blockchain-2-0-public-vs-private-blockchain-comparison/
|
||||
[5]: http://www.hitachi.com/rev/archive/2017/r2017_01/expert/index.html
|
||||
[6]: https://www.ostechnix.com/blockchain-2-0-explaining-smart-contracts-and-its-types/
|
||||
[7]: https://www.theinquirer.net/inquirer/news/2182438/samsung-takes-seat-intel-ibm-linux-foundation
|
@ -0,0 +1,81 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (geekpi)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (OpenHMD: Open Source Project for VR Development)
|
||||
[#]: via: (https://itsfoss.com/openhmd/)
|
||||
[#]: author: (John Paul https://itsfoss.com/author/john/)
|
||||
|
||||
OpenHMD:用于 VR 开发的开源项目
|
||||
======
|
||||
|
||||
在这个时代,有一些开源替代品可满足你的所有计算需求。甚至还有一个 VR 眼镜之类的开源平台。让我们快速看一下 OpenHMD 这个项目。
|
||||
|
||||
### 什么是 OpenHMD?
|
||||
|
||||
![][1]
|
||||
|
||||
[OpenHMD][2] 是一个为沉浸式技术创建开源 API 及驱动的项目。这类技术包括带内置头部跟踪的头戴式显示器。
|
||||
|
||||
它目前支持很多系统,包括 Android、FreeBSD、Linux、OpenBSD、mac OS 和 Windows。它支持的[设备][3]包括 Oculus Rift、HTC Vive、DreamWorld DreamGlass、Playstation Move 等。它还支持各种语言,包括 Go、Java、.NET、Perl、Python 和 Rust。
|
||||
|
||||
OpenHMD 项目是在 [Boost 许可证][4]下发布的。
|
||||
|
||||
### 新版本中的更多功能和改进功能
|
||||
|
||||
![][5]
|
||||
|
||||
最近,OpenHMD 项目[发布版本 0.3.0][6],代号为 Djungelvral([Djungelvral][7] 是来自瑞典的盐渍甘草)。它带来了不少变化。
|
||||
|
||||
这次更新添加了对以下设备的支持:
|
||||
|
||||
* 3Glasses D3
|
||||
* Oculus Rift CV1
|
||||
* HTC Vive 和 HTC Vive Pro
|
||||
* NOLO VR
|
||||
* Windows Mixed Reality HMD 支持
|
||||
* Deepoon E2
|
||||
* GearVR Gen1
|
||||
|
||||
|
||||
|
||||
OpenHMD 增加了一个通用扭曲着色器。这一新增功能“可以方便地在驱动程序中设置一些变量,为着色器提供有关镜头尺寸、色差、位置和 Quirks 的信息。”
|
||||
|
||||
他们还宣布计划改变构建系统。OpenHMD 增加了对 Meson 的支持,并将在下一个 (0.4) 版本中将删除对 Autotools 的支持。
|
||||
|
||||
OpenHMD 背后的团队还不得不删除一些功能,因为他们希望他们的系统适合所有人。由于 Windows 和 mac OS 对 HID 头的兼容问题,因此禁用了对 PlayStation VR 的支持。NOLO 有一堆固件版本,很多都会有小改动。OpenHMD 无法测试所有固件版本,因此某些版本可能无法正常工作。他们建议升级到最新的固件版本。最后,几个设备仅提供有限的支持,因此不包含在此版本中。
|
||||
|
||||
他们预计将加快 OpenHMD 发布周期,以便更快地获得更新的功能并为用户提供更多设备支持。他们优先要做的是“让当前在主干分支中禁用的设备在下次发布补丁时能够试用,同时让支持的头戴式显示器支持位置跟踪。”
|
||||
|
||||
### 最后总结
|
||||
|
||||
我没有 VR 设备而且从未使用过。我相信它们有很大的潜力,甚至能超越游戏。我很兴奋(但并不惊讶)有一个开源实现会去支持许多设备。我很高兴他们专注于各种各样的设备,而不是专注于一些非品牌的 VR 的努力。
|
||||
|
||||
我希望 OpenHMD 团队做得不错,并希望他们创建一个平台,让它们成为 VR项目。
|
||||
|
||||
你曾经使用或看到过 OpenHMD 吗?你有没有使用 VR 进行游戏和其他用途?如果是,你是否用过任何开源硬件或软件?请在下面的评论中告诉我们。
|
||||
|
||||
如果你觉得这篇文章很有趣,请在社交媒体、Hacker News 或 [Reddit][9] 上分享它。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://itsfoss.com/openhmd/
|
||||
|
||||
作者:[John Paul][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://itsfoss.com/author/john/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2019/07/openhmd-logo.png?resize=300%2C195&ssl=1
|
||||
[2]: http://www.openhmd.net/
|
||||
[3]: http://www.openhmd.net/index.php/devices/
|
||||
[4]: https://github.com/OpenHMD/OpenHMD/blob/master/LICENSE
|
||||
[5]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2019/07/virtual-reality-development.jpg?ssl=1
|
||||
[6]: http://www.openhmd.net/index.php/2019/07/12/openhmd-0-3-0-djungelvral-released/
|
||||
[7]: https://www.youtube.com/watch?v=byP5i6LdDXs
|
||||
[9]: http://reddit.com/r/linuxusersgroup
|
Loading…
Reference in New Issue
Block a user